Данные пользователя .NET MVC в контроллере CTOR - PullRequest
0 голосов
/ 13 сентября 2009

Я хотел бы найти способ использовать пользовательский провайдер пользователя в контроллере ctor, чтобы не получать пользователя для каждого метода (грязный) ..

Это то, что находится в моем ctor, но постоянно возвращает ноль?

Resource oResource;
public EntityController()
{
    try
    {
        DataEntities oEntities = new DataEntities();
        oResource = oEntities.Resources.Where(c => c.user == User.Identity.Name).First();
    }
    catch
    {
        oResource = new Resource();
    }
}

1 Ответ

1 голос
/ 13 сентября 2009

Переопределите метод Controller.Initialize() и вставьте туда свой код. Контекст контроллера недоступен в конструкторе.

protected override void Initialize(System.Web.Routing.RequestContext requestContext)
{       
    base.Initialize(requestContext);
    // your code here
}

Если вам требуется сущность пользователя при каждом действии, поместите поведение в базовый класс, от которого наследуются ваши контроллеры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...