2009-12-04 114 views
1

我有一個很奇怪的問題,我正在尋找任何建議。我有一個運行IIS 6的ASP.NET網站,大部分工作良好。然而,這些會議似乎被隨機清除?所以如果我登錄...點擊左右,我會隨機啓動。有時會在30秒/ 4次點擊之後。有時它是第一次點擊,有時它甚至不會讓我登錄...有時它工作正常? (我知道這是被清除,因爲我打印時,我註銷了會議,他們是空的原因)隨機IIS會話超時

我已經採取了看看IIS日誌,但他們不告訴我很多。我懷疑這可能是一個時區問題?,我想知道是否有人知道這是否是一種可能性?

除此之外,我如何能找到更多關於什麼是在會話發生任何提示?

到目前爲止,我的問題的最奇怪的部分是它的隨機性。這可能會成爲IIS/ASP.NET專家的一個很好的線索。 (至少我希望如此!)

另一條線索:當我本地託管它,當我主持它從我的虛擬服務器GoDaddy的我只得到此問題的網站運行完美。 (這是運行IIS 6)

另一件事我本地主機上注意到

我的餅乾看起來像這樣:(從螢火蟲) 曲奇ASP.NET_SessionId = vgt4ly45frvsm1qsfjsmdcbc;用戶名=; demo = true

在託管服務器上它只是這樣的: Cookie ASP.NET_SessionId = vgt4ly45frvsm1qsfjsmdcbc;

「用戶名」是我的會話的名稱...也許我已經上禁用餅乾共同主辦,這是導致會議無法正常工作?

感謝您的時間, 安德魯

+0

我假定您的意思是說ASP.NET會話數據正在被隨機清除? – 2009-12-04 21:09:10

+0

是的,我這樣做.. .. asp.net會話對象 – Andrew 2009-12-05 00:24:31

+0

我現在終於明白你的問題意味着什麼....我正在使用簡單的會議,我認爲....我現在正在查看ASP.NET會話....他們對我來說是新的,所以我正在學習他們如何工作 – Andrew 2009-12-05 18:40:30

回答

0

回答我的問題:

這個環節是非常有益的:

http://msdn.microsoft.com/en-us/library/ms972429.aspx

即這一部分:

服務器場的限制。當用戶在Web服務器場中從服務器到服務器移動時,其會話狀態不會跟隨它們。 ASP會話狀態是特定於計算機的。每個ASP服務器都提供自己的會話狀態,除非用戶返回到同一臺服務器,否則會話狀態將不可訪問。雖然網絡IP層路由解決方案可以解決這些問題,但通過確保客戶端IP被路由到始發服務器,一些ISP選擇爲其客戶端使用代理負載均衡解決方案。這些最臭名昭着的是美國在線。諸如AOL之類的解決方案阻止網絡級別的請求到服務器的路由,因爲請求者的IP地址不能保證是唯一的。

我將我的登錄/註銷會話切換爲純粹基於cookie的(我需要我的解決方案)......爲了更安全的實現,我認爲ASP.NET已在Profile中構建...以及...存儲在你的數據庫中的ASP.NET會話......當時我不喜歡研究/暗示。

Andrew

1

你的asp.net應用程序可以被回收。如果達到內存或cpu閾值,或者過了一段時間(在IIS6上默認使用15分鐘不活動),可能會發生回收。

當應用程序被回收,在內存中一切都失去了。這可能是你失去會話數據的原因。

爲了確保回收是罪魁禍首,您可以查看服務器上的性能計數器,或只是在Application_Start global.asax處理程序中記錄一些內容。

對於IIS6上asp.net性能計數器的列表,檢查https://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/0a6c9f07-a70c-4c3d-b93d-5dfef593c744.mspx?mfr=true

計數器爲「應用程序重新啓動」和「工作進程重新啓動」你應該看的一個。

+0

如果我的應用程序正在回收,那麼它不需要重新編譯? (我不使用預編譯的代碼)當你說「看看性能計數器」時,你的意思是性能計數器對象嗎? – Andrew 2009-12-04 21:30:21

+0

aspx頁面在被調用時會被重新編譯,但會自動完成(當頁面編譯時只有一點點熱身)。 – 2009-12-04 21:38:05

+0

我在perf計數器上編輯了更多信息的答案。 – 2009-12-04 21:39:42

0

負載平衡羣集中是否有多個Web服務器?當羣集中的兩臺服務器之間的加密密鑰不同時,我遇到了這個問題。只要負載平衡將您切換到另一臺服務器,.Net就無法解密該Cookie,因此認爲它很糟糕,並將您發送回登錄頁面。

Here's關於此問題的MSDN文章。

+0

陛下...你基本上意味着一個以上的web.config文件?......因爲我只有一個,我手動設置 的 Andrew 2009-12-04 22:29:48

+0

謝謝雖然......這可能會讓我走上正軌 – Andrew 2009-12-04 22:30:40