0

Azure の設定で、HttpContext ではなく ControllerContext を使用することの間に何らかの影響があるかどうか疑問に思っています。HttpContext がスレッド静的であることがわかりました。これが Azure に関連しているかどうかを調べようとしています。

実際の違いがないと仮定すると、コントローラー アクションが呼び出されたときに 2 つが等しいことを保証できますか? コントローラー アクションで HttpContext.Current を呼び出す、確立されたアプリケーションの単体テストを作成しようとしています。アプリ全体のいくつかの場所で、変更が HttpContext.Current に直接行われます (具体的には承認の一部として)。ControllerContext に切り替えた場合、HttpContext.Current の変更は反映されますか?

ありがとう!

4

2 に答える 2

2

ControllerContext と HttpContext については、わかりません。Windows Azure が関係ないことだけは知っています。Windows Azure は Windows と IIS7 を実行するため、オンプレミスの決定に対する答えが何であれ、クラウドにも同様に適用されます。

于 2011-05-25T15:47:27.653 に答える
2

それらはまったく同じものではありませんが、Web 呼び出しから同じ受信スレッドで両方を呼び出している場合、実際には両方とも同じ HttpContext インスタンスにアクセスするメカニズムを提供します。

この質問と回答を参照してください - MVC ASP.NET の HttpContext.Current と Controller.Context の違い

テストを容易にするために、可能であれば ControllerContext に移動することをお勧めします。

于 2011-05-25T17:53:54.510 に答える