解決IIS設置多個工做進程中Session失效的問題

利用StateServer實現Session共享

session保存在專門的StateServer中,該種方式,性能損失比sql略好。比inproc聽說有10%-15%的性能損失。怎麼使用StateServer 服務器呢?web

     一、初始化StateServer服務器sql

          啓動ASP.NET 狀態服務【aspnet_state】,該服務默認是手動啓動的,能夠經過修改註冊表,設置爲自動啓動並容許遠程鏈接。修改方法以下:服務器

          修改註冊表: [HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/aspnet_state/Parameters]
          設置 AllowRemoteConnection = 1 , 設置 Port = 42424 (十進制,默認即爲42424)
          AllowRemoteConnection ,0僅能本機使用,1能夠供其餘機器使用.
          Port是服務的端口號cookie

    二、修改webconfig配置文件session

<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" cookieless="false" timeout="60"/>併發

     其中stateConnectionString中的tcpip表示StateServer服務器的ip和端口。負載均衡

    注意StateServer不支持負載均衡,若是是大併發請保存在sql中。less

相關文章
相關標籤/搜索