asp.net mvc не может получить доступ к данным cookie в базовом контроллере

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

Для этого я создал базовый контроллер AppController, от которого наследуются другие мои контроллеры.

тогда у меня есть что-то вроде этого (так что объект CurrentSessionValues доступен для всех моих контроллеров):

    public MySession CurrentSessionValues;
    public ApplicationController()
    {
        if (Request.Cookies["MySiteCookie"] == null)
        {
            // create new Record in DB
            CurrentSessionValues = CreateMySession();
            HttpCookie cookie = new HttpCookie("MySiteCookie");
            cookie.Value = CurrentSessionValues.SessionID.ToString;
            Response.SetCookie(cookie);
        }
        else
        {
           // use the value in MySiteCookie to get values from the DB
           // e.g. logged in user id, cart id, etc
        }

    }

Когда я запускаю это, я получаю эту ошибку в default.aspx:

Произошла ошибка при создании контроллера типа 'Mvc_Learn.Controllers.HomeController.

Если контроллер нене иметь фабрику контроллеров, убедитесь, что у нее есть открытый конструктор без параметров.

Это ломается на Request.Cookies ["MySiteCookie "]

Должен ли я делать эту логику каким-то другим способом или в другом месте?

Ответы на вопрос(2)

Ваш ответ на вопрос