を受け取るサードパーティのライブラリを呼び出していますSystem.Web.HttpResponse。があるように見えますがHttpResponseBase、HttpResponseWeb フォームとは異なります。
を取得する方法はありHttpResponseますか? を使用しMVC 3ます。
[編集] :コントローラーメソッドでこれを実行しようとしています。ケーシングも修正。
を受け取るサードパーティのライブラリを呼び出していますSystem.Web.HttpResponse。があるように見えますがHttpResponseBase、HttpResponseWeb フォームとは異なります。
を取得する方法はありHttpResponseますか? を使用しMVC 3ます。
[編集] :コントローラーメソッドでこれを実行しようとしています。ケーシングも修正。
モックできない型を取るシステムと対話する必要がある場合は、静的プロパティSystem.Web.HttpContext.Currentを介して現在の HttpContext にアクセスできます。HttpResponse は、Response プロパティを介してぶら下がっています。
いいえ、しかしあなたHttpResponseBaseはおそらくHttpResponseWrapperそれの中に含まれてHttpResponseいるです。からすべてのHttpResponseメソッドにアクセスできますHttpResponseBase。
へのアクセスが必要な場合は、ASP.NET ライフサイクルの以前の場所またはどこかにHttpResponse参照を追加できます。これを行うには、BeginRequest イベントが適しています。HttpContext.ItemsIHttpHandler
HttpContext.Items参照するのと同じ辞書を参照するため、 MVC3HttpContextBase.Itemsのすべてのアイテムにアクセスできます。
ですが、HttpResponseWrapperのパブリック アクセサはありませんHttpResponse。したがって、直接アクセスできる参照はありません。フレームワークが基になる参照の代わりにラッパーの提供を開始することを決定する前に、直接アクセス可能な参照を作成するには、イベントのイベント ハンドラーを作成しますHttpApplication.BeginRequest。ハンドラーには、HttpContextオブジェクトへの参照があります。設定しHttpContext.Items["HttpRequest"] = HttpContext.Requestます。HttpRequest次に、コントローラでによって参照にアクセスできるようになりますRequestContext.HttpContext.Items["HttpRequest"]。