1

我的想法是创建我自己的 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 中添加一些新属性?

提前致谢!

4

1 回答 1

-8

我建议您只需向您的基本控制器添加一个新属性,该属性将共享您自己的上下文。这是完成这项工作的最简单、优雅和快速的方式。
如果您正在使用某些 IOC,我建议您对其进行属性注入,有关详细信息,请参阅此链接

于 2010-02-19T20:57:38.717 回答