2

サイトごとに異なる可能性があるため、起動時に MVC インスタンスで使用されている Web ポートをフェッチできる必要があります。ポートを取得する方法に対するほとんどの回答には、Application_Start に存在しない要求オブジェクトからの取得が含まれます。それを取得する他の方法はありますか?

私はそれを次のように取得しようとしました:

HttpContext.Current.Request.ServerVariables["SERVER_PORT"] 

しかし、これは例外をスローします

「System.Web.HttpException (0x80004005): このコンテキストでは要求を使用できません」

4

1 に答える 1

3

Application_Start私の知る限り、IIS 7 以降で統合パイプライン モードでホストしている場合、これを行うことはできません。Application_BeginRequest最初のリクエストのみで 1 回限りのアプリケーションの初期化を行うために使用することを含む回避策があります。次の回答を確認してください: https://stackoverflow.com/a/4243338/29407この回答は、次のブログ投稿から着想を得たものです。

もう1つの可能性は、もちろん、サーバーポートを知る必要がある理由と、Application_Start他に何かできないかどうかを再考することです。

于 2012-08-16T17:59:49.320 に答える