我正在读ASP.NET 4 Unleashed,然后我读到了这句话。当会话状态存储在进程内时,它存储在特定的web服务器上。换言之,您不能将进程内会话状态与web场一起使用。
哦哦。我正在构建一个web应用程序,它使用并依赖于在会话中存储字典。现在我知道在使用会话时,字典的序列化有一些问题,但是对于InProc会话,没有序列化,所以我想我应该没问题。但现在我想知道:当我去托管我的应用程序时,我会有任何令人讨厌的惊喜吗?
谢谢。
发布于 2011-02-01 07:17:49
首先,如果你的应用运行在一台服务器上(可能在一个共享主机上),进程内会话是可以的,可能是唯一的方法。
但是,如果你有一个以上的服务器(网络农场),甚至在同一服务器上有多个进程为你的网站(网络花园)提供服务,进程内将不会工作,除非你使用粘性会话:你的负载均衡器将需要配置为在会话启动后发送请求到相同的服务器。
不要担心字典序列化,会话处理必须能够对其进行排序,无论是状态服务器还是SQL Server。
然而,通常认为,任何对进程内会话或进程边界状态的依赖都被认为是糟糕的设计,因此非常不鼓励这样做。
https://stackoverflow.com/questions/4857160
复制相似问题