2

この質問は別の質問のようですね。わずかな違い。初期セットアップ中 (アプリケーションの開始時) にサーバーのデプロイされたアドレスを知りたいのですが、その時点ではリクエストはありません:

HttpContext.Current.Request

そのため、現在の URL を取得するためにクエリを実行することはできません。別の方法はありますか?

4

1 に答える 1

0

HostingEnvironmentクラスをチェックアウトします。必要な情報がクラスにない場合は、次の記事も参照してください。HostingEnvironmentこの記事では、作成者は のApplication_BeginRequest代わりにメソッドで初期化ロジックを実行しますApplication_Start。ロックを使用して、この初期化が 1 回だけ実行されるようにします。

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;
        }
    }
}
于 2012-04-13T06:07:44.577 に答える