【问题标题】:Session time-out before due到期前的会话超时
【发布时间】:2012-04-12 06:03:55
【问题描述】:

虽然效率很低,但我需要将 ASP.NET 会话保持 10 小时……(600 分钟)

所以我在网络配置中写了...

<authentication mode="Forms">
    <forms slidingExpiration="true" loginUrl="algoExpirou.aspx" name="AuthCookieConte" timeout="600" path="/">
    </forms>
</authentication>

和 ' 门票...

Dim isPersistent As Boolean = False
    Dim ticket As New FormsAuthenticationTicket(1, strNomeDoRespondente, System.DateTime.Now, DateTime.Now.AddMinutes(600), isPersistent, userData, FormsAuthentication.FormsCookiePath)
    Dim encodedTicket As String = FormsAuthentication.Encrypt(ticket)
    Response.Cookies.Add(New HttpCookie(FormsAuthentication.FormsCookieName, encodedTicket))

会议!!

Session.Timeout = 600

无论如何,大约 25 分钟后,某些东西会从日志中消失:

5:11:25 - 登录

5:35:28 - 超时...

0:24:03 区别

现在我知道发生了什么。该站点的托管是共享的,我想知道超时是否有限制,但是该站点正在测试中,没有人使用它!

感谢您对它的任何想法......问候,RConte

【问题讨论】:

    标签: asp.net session-timeout


    【解决方案1】:

    会话超时和身份验证超时是两个不同的东西。您只是将身份验证超时设置为 10 小时。

    【讨论】:

    • 感谢您的回复... Session.Timeout = 600(见上文)我想会设置会话超时...
    • 你在哪里设置会话超时?
    【解决方案2】:

    好的,伙计们,解决它!该站点位于使用所谓的“云”托管的托管站点中。将其移至同一托管公司的“非云”,它开始正常工作! (我向支持人员询问了这种可能性,但他们根本没有帮助)只用了 2 天就解决了……但我学到了一些。问候,R 孔蒂

    【讨论】:

      【解决方案3】:

      我知道这个问题已经很晚了,但我之前已经被这个问题抓住了。 IIS 中有一个控制the "idle timeout" 的应用程序池设置。当达到空闲超时时,应用程序池工作进程将关闭。我相信表单身份验证 cookie 在会话结束时仍然存在。我通常将空闲超时设置为 0(这样它就永远不会超时),并将 IIS 配置为每天在同一时间回收我的应用程序池(例如 - 凌晨 1 点,当网站上的使用量很少甚至没有使用时)。

      【讨论】:

        猜你喜欢
        • 2018-12-14
        • 1970-01-01
        • 1970-01-01
        • 2013-09-18
        • 2016-04-04
        • 2020-04-25
        • 1970-01-01
        相关资源
        最近更新 更多