我是MVC3的新手,来自
Winforms背景.我有一个由两部分组成的问题.第一个很简单 – 如果我有一个带有私有非静态变量的Controller,我会为浏览我的应用程序的每个用户分别拥有该变量的“实例”吗?
第二个问题更多是一个普遍的问题……但我不确定要问它的正确的话. =)我们假设我的网络应用程序位于通过网络提供一些文本的服务器上,并且需要将该文本发布给特定的最终用户(通过AJAX),我如何“找到”该用户的会话?我担心的目标是在可能有50个连接到服务器的情况下仅在一个用户的浏览器中发布文本.什么是正确的方法去做?
谢谢!
解决方法
if I have a Controller with a private non-static variable in it,will I have a separate “instance” of that variable for each user that browses to my application
是的,每个用户请求都有一个单独的实例.如果控制器(和私有字段)执行连续请求,即使是同一个用户,也会有一个独立的控制器实例(和私有字段).控制器的生命周期仅与给定的HTTP请求相关联.
how do I “find” that user’s session?
ASP.NET使用cookie跟踪用户会话. Cookie会自动沿AJAX请求发送,因此服务器将能够识别用户.看看ASP.NET Session state.