Zawsze udawałem/kpiąłem/odcinałem HttpContext jakoś w ASP.NET (o wiele łatwiej w ASP.NET MVC/MonoRail).Dlaczego makiety HttpContext, jeśli można go zbudować?
Ale widzę, że sam HttpContext może być skonstruowany z łatwością, dosłownie za pomocą kilku linii kodu.
var tw = new StringWriter();
var workerReq = new SimpleWorkerRequest("/webapp", @"c:\here\there\wwwroot", "page.aspx", tw);
var context = new HtpContext(workerReq);
Jeśli będziemy zawijać ten kod na coś takiego powinno działać dobrze i pewnie możemy nawet czynią ASPX użyciem że:
using(Simulate.HttpContext()) {
HttpContext.Current.BlaBla;
}
więc pytania są:
- Powody, dla których NIE należy tego robić.
- Powody, dla których należy ZROBIĆ.
- Dlaczego nie jest powszechnie używany (w rzeczywistości nie pamiętam żadnych wpisów na ten temat).
Pamiętam jeden post, w którym Phill Haack skonstruował HttpContext za pomocą hacków Reflection.
Ale wydaje się, że to nie jest potrzebne.
Pozdrawiam,
Dmitrij.
szyderstwo świetnie nadaje się również do uzyskiwania dostępu do określonych błędów. – dbn