asp.net会话超时问题
本文关键字:问题 超时 会话 net asp | 更新日期: 2023-09-27 18:06:49
得到了一个问题,我的asp.net MVC项目计时后只有几分钟。这特别烦人,因为我有一个相当复杂的上传和导入过程,当我退出时就会崩溃。我目前使用asp.net成员资格提供程序进行身份验证。
我尝试了一些我在这个网站和其他网站上看到的东西,但无济于事。以下是我到目前为止在web配置中的内容:
<location path="Admin/Upload">
<system.web>
<httpRuntime executionTimeout="1200"/>
</system.web>
</location>
<system.web>
<sessionState mode="InProc" timeout="20" cookieless="false" />
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="20" />
</authentication>
<add name="ConnectionString" providerName="System.Data.SqlClient" connectionString="Server=SERVERNAME;Database=DBNAME;User Id=USER;Password=PASSWORD;timeout=30;MultipleActiveResultSets=True" />
在我添加会话状态超时之前,我确信它在超时前只有一分钟,然后它被增加到2分钟,但不能是100%。
我想用这个:
<lifetime leaseTime="15M"/>
…但不是100%确定如何实现它-有人有任何成功的,或者知道什么我可以尝试?
感谢编辑:我正在使用云托管解决方案,但只有一个控制面板-无法访问IIS
更新:我现在已经尝试添加终身租赁时间,它没有任何区别:
<system.runtime.remoting>
<application>
<lifetime leaseTime="20M" />
</application>
</system.runtime.remoting>
</configuration>
更新2:好吧,我已经编辑了标题和网络配置值,以反映我的最新努力,但我仍然挣扎。我问了主机公司,他们把连接时间设置为20分钟。但是,如果会话在10分钟后结束。还有什么我可以试试的吗?
我快到了,但我想要20分钟!生命周期leasetime标记在应用程序标记中。
<application>
<lifetime leasetime = "15M"/>
我从来没有真正使用过它,但如果它像其他超时一样,我想知道你是否需要在最后加上M。不过,这纯粹是猜测。您还应该能够将其设置为"0",以便它的生存期为"永远"
对于会话超时,看起来应该设置为100分钟。然而,它应该在你的<configuration>
标签
编辑和问题完全无关。但是我喜欢你的运行时执行超时是"超过9000"
好的,我得到了一个解决方案,但它不是我所期望的。
原来我错误地使用了aspnet会员提供程序。我使用的是以前的会员系统,登录后将UserId设置为会话变量,并在整个网站中使用它。然后我发现这是不正确的使用方式,并将其更改为User.Identity.IsAuthenticated
和Membership.GetUser().ProviderUserKey
的组合。
不再超时,一切正常。谢谢。