仔细阅读一下,当使用InProc模型需要进行两项更改时,好像更改了asp.net会话时间。
我通过阅读http://asp-net.vexedlogic.com/2012/05/23/aspasp-net-session-timeout-how-do-i-change-it/收集了此信息。
因此,如果我没有足够的时间更改应用程序池上的超时,我想知道是否要更改为使用StateServer,然后以编程方式设置上面文章中所述的Session.Timeout,我是否需要担心哪个Web。 config @timeout和应用程序池空闲设置设置为?我的两个动作会妥善处理吗?
如果能够解决问题,我想接下来的问题是,是否有人会比较InProc与StateServer的性能。
提前致谢。
据我了解,如果您从进程内服务器切换到状态服务器,则IIS中的空闲超时设置将不会对会话状态超时产生影响。
如果没有活动(如果通过了空闲超时),则仍有工作进程可能在应用程序池中终止,但是会话状态(即用户会话和应用程序会话值)将保持在此范围之外。您的会话超时应仅由配置中设置的超时值控制(从此处开始),即
<configuration>
<system.web>
<sessionState mode="StateServer"
stateConnectionString="tcpip=SampleStateServer:42424"
cookieless="false"
timeout="20"/>
</system.web>
</configuration>
Inproc比StateServer更快,因为会话数据在存储时需要进行序列化/反序列化。它也可能存储在单独的计算机上,这可能会带来一些延迟。但是,当然还有状态服务器的优点,即应用程序重新启动(应用程序池回收)之间的会话状态持久性,状态可以在Web场中的多个服务器之间共享。
该问题还讨论了使用状态服务器模式的利弊。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句