我從正在進行的成員資格提供程序切換到SQL成員資格提供程序,以阻止人們在網站進程回收時丟失會話,但會話似乎超時。ASP.NET會話超時使用SQL成員資格提供程序
在使用sql成員資格提供程序時,是否還有其他任何事情(除了web.config中設置的會話超時變量)會導致會話超時? 即使用戶關閉並打開瀏覽器,我也希望會話持續存在。我必須做特別的事情嗎?
我從正在進行的成員資格提供程序切換到SQL成員資格提供程序,以阻止人們在網站進程回收時丟失會話,但會話似乎超時。ASP.NET會話超時使用SQL成員資格提供程序
在使用sql成員資格提供程序時,是否還有其他任何事情(除了web.config中設置的會話超時變量)會導致會話超時? 即使用戶關閉並打開瀏覽器,我也希望會話持續存在。我必須做特別的事情嗎?
我不認爲在關閉窗口後可以保持會話。用戶帳戶由會話cookie索引,並在關閉該窗口時被刪除。
什麼你可能做的是存儲用戶配置文件信息,當他們登錄或其他方式表露身份(例如普通餅乾)恢復。
使用持久性Cookie('記住我'複選框),用戶登錄3天。如果你想讓這個窗口更大,你需要自己構建它。
您正在混淆會話(本質上會過期,應該只適用於單個會話的臨時數據)和配置文件。您可以使用ASP.NET的成員資格數據庫功能來設置持久性設置,但只有在用戶仍然登錄後纔會重新出現。
但是也有匿名標識。您可以在web.config中啓用這個
<anonymousIdentification enabled="true"/>
,然後標記您的配置文件設置爲可供匿名用戶;
<profile>
<properties>
<add name="Name" allowAnonymous="true" />
</properties>
</profile>
匿名cookie持續約70天。如果您決定支持註冊和全面會員資格,您需要在註冊時將匿名設置移至用戶設置。