我需要了解ASP.NET会话状态,因为它适用于IIS 7和ASP.net 3.5。
如果应用程序配置为使用进程中会话状态,那么如果有多个工作进程,那么这个工作是否正常?换句话说,工作进程是否共享会话状态?
IIS 7的默认配置是使用进程中会话状态并分配最多10个工作进程。那么这个默认配置可能会起作用。我正在处理一个生产ASP.NET MVC Web应用程序的公司,这个应用程序有一些问题,他们指责服务器环境。声称是因为我正在使用10个工作进程的默认设置,这是打破其会话状态。我需要知道这是否真的是一个准确的索赔。我从来不知道ASP.NET应用程序不能使用默认配置,所以我有点困惑,需要澄清。
解决方法
拥有多个工作进程并使用InProc似乎并不兼容。
见this:
If you enable Web-garden mode by setting the webGarden attribute to true in the processModel element of the application’s Web.config file,do not use InProc session state mode. If you do,data loss can occur if different requests for the same session are served by different worker processes.