web-dev-qa-db-ja.com

ASP.NET MVCアプリケーション内で「実際の」HttpContextを取得するにはどうすればよいですか?

残念ながら、これを行う必要があります。エラーログにELMAHを使用しています。 error.aspxビューにルーティングする前に、デフォルトのELMAHエラーログを取得して、例外をログに記録する必要があります。以前は使えるようになっていました

Elmah.ErrorLog.Default

ただし、これは廃止されたものとしてマークされています。コンパイラはメソッドを使用するように指示します

Elmah.ErrorLog.GetDefault(HttpContext context)

MVCのコンテキストはタイプHttpContextBaseであり、それをモックすることができます(YAY!)。古いスタイルのHttpContextを必要とするMVC非対応ライブラリをどのように処理できますか?

53
Will

System.Web.HttpContext.Currentをお試しください。トリックを行う必要があります。

個々のHTTPリクエストに関するHTTP固有の情報を取得します。

[〜#〜] msdn [〜#〜]

90
SHODAN
this.HttpContext.ApplicationInstance.Context
21