在ASP.NET MVC3中拥有无会话控制器的一些场景是什么?

时间:2010-11-09 22:38:35

标签: asp.net-mvc asp.net-mvc-3 controllers session-less

阅读Guru-Gu's blog post about ASP.NET MVC3 hitting RC,他说: -

  

无会话控制器支持

     

您现在可以指明是否需要   控制器类使用会话状态    - 如果是的话,你是否想要它   读/写或readonly.read/write或readonly。

有人可以解释某些情况下有人可能想拥有无会话控制器吗?还是只读控制器?

我一直在创建一个separate IIS website which I use to handle all static images/content and then have this same website have session state turned off ...所以没有通过网络发送cookie。这是一个类似的情况吗?

1 个答案:

答案 0 :(得分:25)

顾对此发表了评论。引用:

  

发行说明更多地涵盖了这一点(你   可以从下载中下载它们   上面的链接)。会话状态是   设计使得只有一个请求来自   特定用户/会话发生在   时间。所以如果你有一个页面   多个AJAX回调发生在   一旦他们将被连续处理   时尚在服务器上。展望   无会话意味着他们会   并行执行。

这是ASP.NET中的一种已知方案。同一用户的会话对象不是线程安全的。这意味着如果同一个用户(相同的会话ID cookie)向使用会话的页面发送多个请求,那么这些请求将排队并将被串行处理而不是并行处理。