title: ASP.NET MVC : How to create own HttpContext
body: <p>My idea was to create my own HttpContext which will include some of the internal objects used in our app. So I thought I will simply create </p>
  
  <pre><code>public class FooHttpContextBase : HttpContextBase
  {
      public string Foo
      {
          get { return "Boo"; }
      }
  }
  </code></pre>
  
  <p>And then override HttpContext property:</p>
  
  <pre><code>public abstract class BaseController : Controller
  {
      private FooHttpContextBase context;
  
      public BaseController()
      {
          context = new FooHttpContextBase();
      }
  
      override public HttpContextBase HttpContext
      {
          get { return context; }
      }
  }
  </code></pre>
  
  <p>But then I've realized HttpContext is not a virtual - so it cannot be overridden.</p>
  
  <p>Well, what do you suggest? Add some new property into the BaseController?</p>
  
  <p>Thanks in advance!</p>