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分钟!

asp.net会话超时问题

生命周期leasetime标记在应用程序标记中。

<application>
   <lifetime leasetime = "15M"/>

我从来没有真正使用过它,但如果它像其他超时一样,我想知道你是否需要在最后加上M。不过,这纯粹是猜测。您还应该能够将其设置为"0",以便它的生存期为"永远"

对于会话超时,看起来应该设置为100分钟。然而,它应该在你的<configuration>标签

编辑和问题完全无关。但是我喜欢你的运行时执行超时是"超过9000"

好的,我得到了一个解决方案,但它不是我所期望的。

原来我错误地使用了aspnet会员提供程序。我使用的是以前的会员系统,登录后将UserId设置为会话变量,并在整个网站中使用它。然后我发现这是不正确的使用方式,并将其更改为User.Identity.IsAuthenticatedMembership.GetUser().ProviderUserKey的组合。

不再超时,一切正常。谢谢。