HostingEnvironmentクラスをチェックアウトします。必要な情報がHostingEnvironment
クラスに存在しない場合は、following articleもご覧ください。この記事では、Application_Start
の代わりにApplication_BeginRequest
メソッドで初期化ロジックを実行します。それは、この初期化は一度だけ実行されることを確実にするためにロックを使用しています。
void Application_BeginRequest(Object source, EventArgs e)
{
HttpApplication app = (HttpApplication)source;
HttpContext context = app.Context;
// Attempt to peform first request initialization
FirstRequestInitialization.Initialize(context);
}
を、ここでFirstRequestInitialization
クラスだ:私は...あなたがこれを必要とするかの興味
class FirstRequestInitialization
{
private static bool s_InitializedAlready = false;
private static Object s_lock = new Object();
// Initialize only on the first request
public static void Initialize(HttpContext context)
{
if (s_InitializedAlready)
{
return;
}
lock (s_lock)
{
if (s_InitializedAlready)
{
return;
}
// Perform first-request initialization here ...
s_InitializedAlready = true;
}
}
}
2つのこと(より良い方法かもしれません?)、どのバージョンのMVCフレームワークを使用していますか? – Jared
私はコードでwcfサービスを探しており、現在のURLからサービスへの相対パスを知っている開発のために、面倒なハックをしています。 MVC 3 –