Session ASP.NETMVC4中的强类型会话

Session ASP.NETMVC4中的强类型会话,session,asp.net-mvc-4,razor-2,Session,Asp.net Mvc 4,Razor 2,我正在尝试创建强类型会话对象。假设我想在会话中存储用户名和电子邮件。我的基本控制器会处理这个问题,因此我可以始终假设会话中存在这些值 目前,我可以在Razor视图中这样引用它们: Email: @Session["Email"]<br/> Name: @Session["Name"]<br/> Email: @Session.Email<br/> Name: @Session.Name<br/> 如前所述,我尝试创建自己的会话提供程序,但这不会

我正在尝试创建强类型会话对象。假设我想在会话中存储用户名和电子邮件。我的基本控制器会处理这个问题,因此我可以始终假设会话中存在这些值

目前,我可以在Razor视图中这样引用它们:

Email: @Session["Email"]<br/>
Name: @Session["Name"]<br/>
Email: @Session.Email<br/>
Name: @Session.Name<br/>
如前所述,我尝试创建自己的会话提供程序,但这不会在HttpContext、Controller或视图中公开

使用所述的扩展方法有一个很好的解决方法。这导致了一个稍微不同的语法,这并不是我想要的:

Email: @Session.Email()<br/>
Name: @Session.Name()<br/>
Email:@Session.Email()
名称:@Session.Name()
有更好的方法吗


谢谢

您可以使用TempData。我建议您查看,或者

您可以使用TempData,谢谢您的建议。我不确定这是我想要的。我希望在会话中保留一些内容,以便可以从应用程序中的任何位置访问这些内容,并在整个会话生命周期中保持这些内容。TempData似乎不能做到这一点。
Email: @Session.Email()<br/>
Name: @Session.Name()<br/>