现在系统中设置了web园,导致session老是丢失,如何解决? 如果用状态服务保存回话信息,问题在于,现在有多台服务器,没办法指定一个tcpip地址。
session有三种存储方式,默认是In Proc,也就是进程内,这时如果有负载均衡就可能会丢失。还有两外两种方式,比如state service mode或者sql server mode。
http://msdn.microsoft.com/en-us/library/ms972429.aspx
注意 Out-of-process Mode 和 SQL Server Mode 两种方式。
如果你的 session 只是做身份验证,或者携带一些认证后就不变动的用户信息,那么你可以用 Cookie,把每台机器上的 Machine Key 配置成一样就可以了。
用Web园就是多进程方案,多进程方案Session是不能共享,所谓的丢失,只是不同的请求被指派到不同的进程导致。认清本质,自己才会有对应的解决方案去处理。