My idea was to creat开发者_StackOverflowe my own HttpContext which will include some of the internal objects used in our app. So I thought I will simply create
public class FooHttpContextBase : HttpContextBase
{
public string Foo
{
get { return "Boo"; }
}
}
And then override HttpContext property:
public abstract class BaseController : Controller
{
private FooHttpContextBase context;
public BaseController()
{
context = new FooHttpContextBase();
}
override public HttpContextBase HttpContext
{
get { return context; }
}
}
But then I've realized HttpContext is not a virtual - so it cannot be overridden.
Well, what do you suggest? Add some new property into the BaseController?
Thanks in advance!
I recommend you just add a new property to your base controller that will share your own context. It's the most easy, elegant and fast way to do the job.
If you are using some IOC, I recommend you to do a property injection for it, see this link for details.
精彩评论