解决方法
我还添加了Microsoft Velocity Distributed Caching解决方案.
InProc的优点
>最快可选(全部内存/内存)
>易于设置(.config文件中没有新的要求..我认为这是默认行为).
>我认为大多数人都会使用这个.
InProc的缺点
>如果网站(应用程序池)死亡,则所有会话信息都将丢失.
>在WebFarm场景中不起作用 – >会话信息仅适用于每个应用程序池.
>不能包含非会话信息.
Pro用于StateServer
>在内存/内存中,所以速度很快(但有一些净延迟…请参阅下文),因此它可能没有Inproc快.
> Web场方案的默认配置.多个iis站点使用状态服务器来控制状态会话信息.
适用于StateServer的Con’s
>需要将ASP.NET StateServer服务设置为运行.
> StateServer需要一些配置调整来接受“远程iis机器”请求.
>如果iis请求需要在另一台联网计算机上获取/设置会话信息,则会有一些微小的网络延迟.
>不能包含非会话信息.
Pro用于sqlServer(作为状态服务器)
>即使在iis站点重新启动后,也始终保留状态.
sqlServer的Con(作为状态服务器)
>最慢的解决方案 – >净延迟和硬盘驱动器延迟(因为sql server将状态存储在硬盘上/从硬盘读取).
>最难设置/配置.
>不能包含非会话信息
Pro for Velocity(或其他分布式缓存系统)
>可以处理的不仅仅是会话信息 – >对象,应用程序设置,缓存等(这是一个非常好的东西IMO !!)
>可以仅存储或存储到数据库.
>如果一个“节点”发生故障,系统仍然有效. (假设有2个缓存节点)
Con的Velocity(或其他分布式缓存系统)
>一般成本$$$>最难设置(必须安装东西,调整配置,添加额外的specal代码).>具有网络延迟(通常没有),但如果服务持久化数据(例如,到sql Server),可能会有硬盘延迟.