Я всегда каким-то образом подделывал/издевался/заглушал HttpContext в ASP.NET (намного проще в 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;
}
Итак, вопросы:
- Причины, по которым этого делать НЕЛЬЗЯ.
- Причины, почему это ДОЛЖНО быть сделано.
- Почему он не используется широко (на самом деле я не помню НИ ОДНОГО поста об этом).
Я помню один пост, в котором Фил Хаак построил HttpContext, используя хаки Reflection.
Но, похоже, это просто не нужно.
С уважением,
Дмитрий.