私はいつもASP.NETでHttpContextを偽造/モック/スタブしています(ASP.NET MVC / MonoRailでははるかに簡単です)。
しかし、HttpContext自体は、文字通り数行のコードで簡単に構築できることがわかります。
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;
}
したがって、質問は次のとおりです。
- それが行われるべきではない理由。
- それが行われるべきである理由。
- なぜそれが広く使われていないのか(実際、私はそれについての投稿を覚えていません)。
PhillHaackがReflectionハックを使用してHttpContextを構築した1つの投稿を覚えています。
しかし、それは必要ないようです。
乾杯、
ドミトリ。