我的想法是创建自己的HttpContext,其中包含我们的应用程序中使用的一些内部对象。所以我想我会简单地创建
public class FooHttpContextBase : HttpContextBase
{
public string Foo
{
get { return "Boo"; }
}
}
然后覆盖HttpContext属性:
public abstract class BaseController : Controller
{
private FooHttpContextBase context;
public BaseController()
{
context = new FooHttpContextBase();
}
override public HttpContextBase HttpContext
{
get { return context; }
}
}
但后来我意识到HttpContext不是虚拟的 - 所以它不能被覆盖。
嗯,你有什么建议?在BaseController中添加一些新属性?
提前致谢!
答案 0 :(得分:-8)
我建议您只需向基本控制器添加一个新属性,该属性将共享您自己的上下文。这是最轻松,优雅,快捷的工作方式 如果您正在使用某些IOC,我建议您为其执行属性注入,有关详细信息,请参阅this link。