簡體   English   中英

為什么ASP.NET Sitecore網站會在7或8分鍾后退出會話?

[英]Why would an ASP.NET Sitecore site drop session after like 7 or 8 minutes?

我有一個Sitecore 7.5站點,該站點構建有兩個前端CD服務器和一個帶有粘性會話的負載平衡器。 負載平衡器的默認超時為5分鍾。 Sitecore網站的ASP.NET默認會話超時值為20分鍾。 我一直在收到有關該站點隨機注銷人員的報告。 我只是運行了以下實驗:

  • 在新的瀏覽器中開始了新的會話
  • 在手機上啟動了計時器
  • 幾乎不斷在網站的不同頁面上單擊。 我空閑的最長時間約為30秒。
  • 大約10到15分鍾后,我突然發現我不再登錄該應用程序

我不知道為什么會這樣。 這是我用來登錄的代碼。

        protected void ButtonLogin_Click(object source, EventArgs e)
    {
        bool loginSuccess = Sitecore.Security.Authentication.AuthenticationManager.Login("extranet\\" + TextLoginUsername.Text, TextLoginPassword.Text, CheckKeepLoggedIn.Checked) || (Sitecore.Security.Authentication.AuthenticationManager.Login("sitecore\\" + TextLoginUsername.Text, TextLoginPassword.Text, CheckKeepLoggedIn.Checked));
        if (loginSuccess)
        {
            LabelLoginError.Visible = false;
            Sitecore.Analytics.Tracker.Current.Session.Identify(Sitecore.Context.GetUserName());
            Sitecore.Analytics.Tracker.Contact.Tags["Full Name"] = Sitecore.Context.GetUserName();
            Response.Redirect(ButtonLogin.PostBackUrl);
            return;
        }

        //Otherwise log as error.
        LabelLoginError.Text = "Username/password combination was incorrect.";
        LabelLoginError.Visible = true;
    }

有任何想法嗎?

檢查日志以查看您的應用程序域或應用程序池是否由於文件活動而重新啟動,從而失去了inProc會話狀態。 在日志中查找“關機”或“ Sitecore已啟動”。

較早回答有誤讀問題

您正在登錄到計算機A,但是在負載均衡器上的粘性會話5分鍾后,您的下一個請求將啟動一個新的粘性會話,並有50%的機會再次路由到服務器A。 如果已將其分配給服務器A,則您的體驗不會受到影響,因為您仍然登錄到服務器A。如果將新的粘性會話分配給了服務器B,那么您就不會登錄服務器B,因此您將認為您已“注銷”,但實際上您從未登錄過服務器B。

要解決此問題,請將您的負載均衡器會話超時設置為與服務器會話超時相同,即20分鍾。

粘性會話可以確保將您的請求發送到同一服務器。 通過將負載均衡器會話長度設置為短於服務器會話超時,您已經創建了15分鍾的不足,可以將您定向到錯誤的服務器,而活動會話仍在原始服務器上。

在網頁中用服務器名稱或IP地址設置html注釋將確認此行為。

檢查您的數據文件夾是否在您的Webroot之外。 如果您的數據在您的webroot內,則可能由於數據文件夾,日志文件,viewstate緩存,lucene索引等中已更改的文件數而重置應用程序池。

請參閱此帖子以了解更多詳細信息: http : //www.sitecorenutsbolts.net/2015/06/01/Application-Pool-Restarts-when-Data-folder-is-in-Webroot/-確保您的數據文件夾不在你的

您是否檢查了對CD服務器的分配? 您可以在瀏覽器控制台中進行檢查。 也許您的cookie過期了,而您的負載均衡器只是切換了您的用戶正在使用的服務器?

還有一件事-您是否使用SSL來保護連接? 過去,我的一位同事/管理員在使用SSL正確配置LB時遇到了一些問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM