在asp.net中服务器端的会话超时c#
问题描述:
即使我在web.config中添加了代码,但会出现会话超时的问题,但它不工作,它会在10分钟内过期。在asp.net中服务器端的会话超时c#
<sessionState mode="InProc" timeout="300"></sessionState>
服务器的会话超时时间为20分钟。
请帮我解决会话超时问题?
答
什么是您的应用程序正在使用的IIS应用程序池上设置的空闲超时值?由于您正在使用InProc会话,因此如果池进程终止,会话也将丢失。
答
尽管您的服务器会话超时时间为20分钟,如您所述。您可能会因以下原因丢失会话状态数据:
- 当IIS应用程序池重新启动或重置时。
- ASP.NET工作进程被意外回收。
- 覆盖您的bin或web.config。
- 或者当您上传或删除应用程序中的任何文件时。
解决方案:使用StateServer会话状态模式:
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" cookieless="UseCookies" timeout="300" regenerateExpiredSessionId="true" />
访问该链接可配置的StateServer:Configure a State Server to Maintain Session State
答
检查应用程序池空闲状态超时默认为20分钟(如果应用程序池处于闲置状态20分钟它会回收,所有进程内会话将被清除)增加其超时
如果我删除inproc模式,那么它也会给出相同的输出 – Ishita 2012-04-02 05:39:00
@Ishita,当你删除它,你r用什么来放置它?因为这是默认设置。如果你只是删除'mode =“InProc”'属性,你会回落到它。 – 2012-04-02 06:35:24
我删除了模式属性。 – Ishita 2012-04-02 08:59:14