Siempre he estado fingiendo/burlando/pegando HttpContext de alguna manera en ASP.NET (mucho más fácil en ASP.NET MVC/MonoRail).¿Por qué simular HttpContext si se puede construir?
Pero puedo ver que HttpContext se puede construir fácilmente, literalmente, con un par de líneas de código.
var tw = new StringWriter();
var workerReq = new SimpleWorkerRequest("/webapp", @"c:\here\there\wwwroot", "page.aspx", tw);
var context = new HtpContext(workerReq);
Si terminaremos este código en algo como esto debería funcionar bien, y probablemente incluso puede hacer utilizando ASPX que:
using(Simulate.HttpContext()) {
HttpContext.Current.BlaBla;
}
Así que las preguntas son:
- Razones por las que NO se debe hacer.
- Razones por las que DEBERÍA hacerse.
- Por qué no se usa ampliamente (de hecho, no recuerdo NINGUNA publicación al respecto).
Recuerdo una publicación en la que Phill Haack construyó HttpContext utilizando Reflection hacks.
Pero parece que simplemente no es necesario.
Cheers,
Dmitriy.
burlarse también es excelente para acceder a condiciones de error específicas. – dbn