2012-04-18 16 views
2

Application_StartイベントのWebサイトURLにアクセスする必要があります。コンテキスト内のHttpRequestは有効ではないため、URLを取得できません。アプリケーションのURLを取得する方法はありますか?HttpContextリクエストを使用しない絶対WebサイトURLの取得

たとえば、IISでrootの下にアプリケーションがホストされていると仮定して、https://somehost/root/を取得する必要があります。アドバンス

答えて

1

おかげでApplication_AcquireRequestStateをお試しください:

void Application_AcquireRequestState(object sender, EventArgs e) 
    { 
     string url = Request.Url.ToString(); 
    } 
+0

感謝。しかし、要求ごとにApplication_AcquireRequestStateが起動されます。私はそれが一度だけ呼び出される必要があるので、他の方法があるかどうか疑問に思っていた。 – Lokeshwer

+0

しかし、IISはどのようにしてアプリケーションの開始時に、対応するURLが仮想ディレクトリのものなのか?複数のホストヘッダーを定義して、すべて同じvirt dirを指すようにすることができます。 IISは、リクエストが来るまで実際のURLが何かを知ることはできません。一度しか呼び出されないという問題を回避するには、グローバル文字列をstring.emptyに初期化し、string.emptyでない場合にのみ設定します。 ...他に戻る。 –

関連する問題