ASP.NET MVC: как создать собственный HttpContext - PullRequest
1 голос
/ 19 февраля 2010

Моя идея состояла в том, чтобы создать свой собственный 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?

Заранее спасибо!

1 Ответ

0 голосов
/ 19 февраля 2010

Я рекомендую вам просто добавить новое свойство в базовый контроллер, которое будет использовать ваш собственный контекст.Это самый простой, изящный и быстрый способ выполнить эту работу.
Если вы используете какой-либо IOC, я рекомендую вам выполнить инъекцию свойства, подробности см. по этой ссылке .

...