私はずっとASP.NETで何とかHttpContextを偽装/嘲笑/スタブしています(ASP.NET MVC/MonoRailでははるかに簡単です)。なぜHttpContextを構築できるのか疑問に思うのですか?
しかし、私はHttpContext自体が文字通り2行のコードで簡単に構築できることがわかります。
var tw = new StringWriter();
var workerReq = new SimpleWorkerRequest("/webapp", @"c:\here\there\wwwroot", "page.aspx", tw);
var context = new HtpContext(workerReq);
我々はこのような何かにこのコードをラップします場合は、それが正常に動作する必要があり、おそらく私たちもいることを使用してASPXをレンダリングすることができます
using(Simulate.HttpContext()) {
HttpContext.Current.BlaBla;
}
だから質問は次のとおりです。
- なぜそれをしてはならないのか。
- なぜそれを行うべきなのか。
- なぜ広く使われていないのですか(実際には、私はそれについての投稿は何も思い出せません)。
Phill HaackがReflectionハックを使用してHttpContextを構築した1つの投稿を覚えています。
しかし、それはちょうど必要ではないようです。
乾杯、
ドミトリー。
また、特定のエラー状態にアクセスするためのモッキングも優れています。 – dbn