Лучший способ делать строго типизированные сессии ASP.NET MVC

Я занимаюсь разработкой проекта ASP.NET MVC и хочу использовать строго типизированные объекты сессий. Я реализовал следующий производный от контроллера класс для предоставления этого объекта:

public class StrongController<_T> : Controller
    where _T : new()
{
    public _T SessionObject
    {
        get
        {
            if (Session[typeof(_T).FullName] == null)
            {
                _T newsession = new _T();
                Session[typeof(_T).FullName] = newsession;
                return newsession;
            }
            else
                return (_T)Session[typeof(_T).FullName];
        }
    }

}

Это позволяет мне определять объект сеанса для каждого контроллера, что соответствует концепции изоляции контроллера. Есть ли лучший / более «правильный» путь, возможно, официально поддерживаемый Microsoft?

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

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