我在IIS中运行我的网站,并且我有一些运行计时器的事件.(我知道这是糟糕的设计并计划重新编码但是现在我想检查是否有快速解决方案)
经过一段时间网站即将入睡,这就是为什么我的计时器事件什么都不做.
是否有IIS设置或拒绝睡眠的其他方式?
Nee*_*eel 10
好吧,这可能对您有用,详情如下:-
http://forums.asp.net/t/1950241.aspx?ASP+NET+MVC+website+goes+to+sleep+How+to+nake+it+always+awake+
有很多方法可以在 .NET 中设置超时(会话超时、表单身份验证超时和 IIS 相关超时)。您的问题很可能与 IIS 空闲超时有关,如下所述:
在 IIS 中设置 Application IdleTimeout 属性:-
您可能需要检查在 IIS 中为什么配置了超时,因为此超时将覆盖您的 web.config 中定义的超时。
在 IIS 中有一个称为空闲超时的设置,默认为 20 分钟。这可以解释您的早期超时问题。
Scott Hanselman 还在这篇博文中解决了在使用表单身份验证时处理超时时可能出现的奇怪问题。
其他一些常见的超时可能是通过 Session 或 Forms 身份验证来实现的,它们将按如下所示进行调整。
在 web.config 中设置 SessionState Timeout :-
您可以在 web.config 文件中的元素中更新会话状态的超时属性(如果这是实际超时),如下所示(默认为 20 分钟,如下所示):
<configuration>
<system.web>
<!-- Adjust the timeout property below -->
<sessionState mode="InProc" timeout="20"></sessionState>
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)
在 web.config 中设置表单身份验证超时:-
您可以通过调整 web.config 文件元素中的超时属性来调整应用程序中表单身份验证的特定超时属性。您还需要注意,如果您将 slideExpiration 属性与超时结合使用,因为它们实际上可能比列出的超时更早到期。
<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="~/Login.aspx" timeout="yourTimeoutInMinutes"></forms>
</authentication>
Run Code Online (Sandbox Code Playgroud)
因此,如果您想将身份验证令牌保持“有效”的时间延长至 360 分钟(6 小时),您可以将其设置如下:
<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="~/Login.aspx" timeout="360"></forms>
</authentication>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14133 次 |
| 最近记录: |