我的asp.net mvc项目出现问题仅在几分钟后超时。这特别令人讨厌,因为我有一个非常复杂的上传和导入过程,当我退出时,它会失败。我目前使用asp.net成员资格提供程序进行身份验证。
我尝试了一些我在这个网站和其他网站上看到的东西,但无济于事。以下是我目前在网络配置中的内容:
<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"/>
...但不是百分之百确定如何实施它 - 任何人都有成功,或者知道我可以尝试的其他东西?
由于
编辑:我正在使用云托管解决方案,但只有一个控制面板 - 无法访问IIS更新:我现在尝试添加终身租约时间,但没有任何区别:
<system.runtime.remoting>
<application>
<lifetime leaseTime="20M" />
</application>
</system.runtime.remoting>
</configuration>
更新2: 好的,我已经编辑了标题和网络配置值以反映我最近的努力,但我仍然在苦苦挣扎。我与托管公司交谈,他将连接超时设置为20分钟。然而,会议在10分钟后结束。还有什么我可以尝试的吗?
我到了那里,但我想要20分钟!
答案 0 :(得分:1)
终身租约时间标记位于应用程序标记中。
<application>
<lifetime leasetime = "15M"/>
我从来没有真正使用它,但是如果它像其他超时一样,如果你最后需要M的话。这是纯粹的猜测。您还应该能够将其设置为“0”,以使其生命周期为“永远”
至于会话超时,看起来应该设置为100分钟。但是,它应该位于<configuration>
标记
修改强> 与问题完全无关。但我喜欢你的运行时执行超时“超过9000”
答案 1 :(得分:0)
是的,我得到了一个解决方案,但这不是我所期待的。
事实证明我错误地使用了aspnet Membership Provider。我使用的是像我之前使用的会员系统并登录,然后将UserId设置为会话变量并在整个站点中使用它。然后我发现使用它的方式不正确,并将其更改为User.Identity.IsAuthenticated
和Membership.GetUser().ProviderUserKey
的组合。
它不再是超时而且一切都很好。不管怎样,谢谢。