OnSessionStart/Session_Start 事件是否仍然仅在服务器场环境中触发一次(总共),或者由于请求由多个服务器处理,它是否可以在每个服务器上触发一次?
ASP.NET/IIS6 或 7
应该不假定服务器正在使用粘性 session 。
最佳答案
对于 IIS 的默认安装,答案是“否”—— Session_Start 通常会触发多次。客户端将在它命中的每个不同服务器上创建一个新 session 。如果您在 IIS 中使用 Web Garden 选项,情况也是如此。
如果您不依赖 Session 并且您有一个服务器场,那么您通常最好完全禁用 Session 状态。这是您的操作方法: http://support.microsoft.com/kb/306996
如果您确实依赖 Session,那么您最好的选择可能是 ASP.NET 状态服务器服务。您场中的所有服务器都将使用单个服务器作为 Session 状态,这将确保 Session_Start 只触发一次。有关设置的大量背景和详细信息,请阅读此(查找“状态服务器模式”以获取具体说明): http://aspdotnetdevs.blogspot.com/2008/12/aspnet-session-state-and-modes.html
关于asp.net - Session_Start() 如何在服务器场中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/583643/