0

虽然效率很低,但我需要保持 10 个小时的 ASP.NET 会话……(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

4

3 回答 3

0

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

于 2012-04-12T06:27:13.760 回答
0

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

于 2012-12-20T17:42:27.683 回答
0

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

于 2012-04-13T05:11:09.693 回答