MVC3控制器变量可访问性

时间:2011-10-05 13:26:32

标签: c# asp.net-mvc-3

我是MVC3的新手,来自Winforms背景。我有一个由两部分组成的问题。第一个很简单 - 如果我有一个带有私有非静态变量的Controller,那么对于浏览我的应用程序的每个用户,我是否会为该变量单独设置一个“实例”?

第二个问题更多的是一般问题......但我不确定要问它的正确用语。 =)我们假设我的网络应用程序位于通过网络提供一些文本的服务器上,并且需要将该文本发布给特定的最终用户(通过AJAX),我如何“找到”该用户的会话?我担心的目标是在可能有50个连接到服务器的情况下仅在一个用户的浏览器中发布文本。什么是正确的方法呢?

谢谢!

1 个答案:

答案 0 :(得分:7)

  

如果我有一个带有私有非静态变量的Controller,我是否会为浏览我的应用程序的每个用户单独设置该变量的“实例”

是的,每个用户请求都有一个单独的实例。如果控制器(和私有字段)执行连续请求,即使是同一个用户,也会有一个独立的控制器实例(和私有字段)。控制器的生命周期仅与给定的HTTP请求相关联。

  

如何“查找”该用户的会话?

ASP.NET使用Cookie跟踪用户会话。 Cookie会自动沿AJAX请求发送,因此服务器将能够识别用户。看一下ASP.NET Session state