我需要访问 ASP.NET MVC 2 应用程序的控制器中的用户特定数据。我的控制器类有 2 个控制器方法:
[ControllerSessionState(ControllerSessionState.ReadOnly)]
public class CalendarController : BasicController
{
[Authorize]
public ActionResult ControllerMethod1()
{
//reads session specific data
}
[Authorize]
public ActionResult ControllerMethod1()
{
//stores session specific data
}
}
我希望请求被并行化,即ControllerMethod1应该能够与ControllerMethod2并行运行。出于这个原因,我将会话标记为ReadOnly。但是,ControllerMethod2 必须将数据写入“会话”。由于这是不允许的,我考虑将我的数据存储在 HttpContext.Application 中。我可以在对象名称中对用户 ID 进行编码,例如:
HttpContext.Application["Data" + currentUser.UserId] = <<my_data>>;
我可以这样做吗?这种方法有什么缺点吗?