私はセッションを偽装することができる例を使用しています。 これは、MVCコントローラの単体テストで使用するためのものです。ControllerContext.HttpContext.SessionとHttpContext.Current.Sessionの違いは何ですか?
mSessionItems
が私のセッションであると私はAにいるとき
target
は、コントローラ確か
との私のインスタンスである
FakeHttpContext httpctx = new FakeHttpContext(null,null,null,null,mSessionItems);
ControllerContext ctx2 = new ControllerContext(httpctx,new RouteData(), target);
:私は、コントローラを作成し、私はこれを行う試験で
コントローラの読書this.ControllerContext.HttpContext.Session
、私は素晴らしいセッションを持っている!
でも....コントローラ外のセッションも読みましたが、私はHttpContext.Current.Session
を使用していますが、それはnullです(または実際はHttpContext.Current
はnullです)。
私は疑問に思ったのですが、2つの違いは何ですか?
私はHttpContext.Current.Sessionを取得します(これはもちろんnullをチェックします)。しかし、ユニットテストのシナリオでは、私は立ち往生します。 – Michel