Стиль жизни замка Виндзор зависит от аутентификации форм с cookie - PullRequest
0 голосов
/ 31 декабря 2018

У меня есть пользовательский класс в моей среде, и я хочу инициализировать первый раз при входе в систему.

   public  class UserClass
{
    public  void Initial(string userId, string userName)
    {

        UserId = useriId;
        UserName = userName;

    }

    public  string UserId { get; private set; }
    public  string UserName { get; private set; }
}

Я хочу, чтобы жизнь этого класса зависела от

HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName]

1 Ответ

0 голосов
/ 02 января 2019

Я не уверен, что ваш Initial метод должен быть конструктором для UserClass или функцией инициализации.Вы можете подойти к решению по-разному в зависимости от этого.В любом случае, есть три способа, как я мог бы подойти к этому:

  1. Явно (конструктор)

Создайте сервис-оболочку, открывая значения из файлов cookie, и сделайте ваши UserClass потреблять это.Это самый простой, наименьший магический вариант, который будет легко понять любому в вашей команде.

DynamicParameters (конструктор)

Используйте функцию DynamicDependencies для передачи значений cookie в конвейер разрешения.Это связывает вас с Виндзором и может быть неочевидным для каждого человека в вашей команде, поэтому вы должны учитывать это.

OnCreate (init)

Используйте функцию OnCreate для инициализации объекта после постройки.Практически та же идея, что и в варианте 2, но она используется для уже созданного объекта.Это может работать с применением явного или неявного подхода (то есть 1. или 2. сверху)

Как и во всем, это все компромисс между тем, что технически возможно, и что имеет смысл для вашей архитектуры кода икоманда.

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