Asp.Net会话立即过期
我的Asp.net会话立即过期,即使我在web.config文件中进行了设置Asp.Net会话立即过期,asp.net,.net,vb.net,web-config,Asp.net,.net,Vb.net,Web Config,我的Asp.net会话立即过期,即使我在web.config文件中进行了设置 <system.web> <sessionState timeout="2880" mode="InProc" cookieless="UseCookies"></sessionState> <customErrors mode="RemoteOnly"/> <trace enabled="false" localOn
<system.web>
<sessionState timeout="2880" mode="InProc" cookieless="UseCookies"></sessionState>
<customErrors mode="RemoteOnly"/>
<trace enabled="false" localOnly="false"/>
<compilation debug="false" strict="false" explicit="true" targetFramework="4.0"/>
<httpCookies httpOnlyCookies="true"/>
<pages validateRequest="false" enableEventValidation="false" viewStateEncryptionMode ="Never" enableViewStateMac="false" />
</system.web>
我在web.config中做了上述设置,即使它在大约3分钟后过期。。。
如果您的应用程序启用了AJAX,有人能帮我删除该属性吗。使用cookieless
属性的默认值
从MSDN文档:
cookieless属性可以是以下可能的值之一。
默认值是UseCookies值
注意:当您配置
启用AJAX的ASP.NET网站,仅使用默认值
将Cookies用于无Cookie属性。使用cookie的设置
ASP.NET AJAX客户端脚本不支持URL中的编码
图书馆
我相信会议不会立即结束,而只是结束。由于您使用的是
InProc
会话状态,因此它可能会在
- 对web.config文件的任何更改都会导致AppDomain卸载和会话
- 应用程序池重新启动。在Proc会话中,这是一件非常危险的事情,我建议至少为每个网站分配单独的应用程序池
- 代码隐藏文件中的任何代码更改都会导致AppDomain卸载(以及会话),以便在新AppDomain中加载新程序集
最佳解决方案-使用会话状态。您是如何在web.config中设置的?您能给我们看一些代码吗?您做了什么?服务器上的日期和时间是什么?我已经将上面使用的代码粘贴到了标签中。。如果你有答案,一定要回复。服务器上的UTC日期和时间。是正确的日期和时间吗?是的,我在标签中使用了Cookieeless=“UseCookies”。。那么这里的问题是什么呢?我不能使用SQLServer来存储会话状态。我没有访问联机SQLServer的管理员权限,我需要通过其他方式来执行此操作。@Puneesh-是托管公司吗?您可以要求为您设置此功能。在elast询问您的站点是否有自己的应用程序池SQL Server不一定是“最佳”解决方案。这是最可靠的解决方案。不过,我至少会选择stateserver模式,而这不需要sqlserver来承载它。