簡體   English   中英

Web Host的設置奇怪,需要其他會話狀態建議

[英]Web Host has strange settings, need alternative session state suggestions

我正在為體育俱樂部建立一個網站。 俱樂部不希望將其托管服務移至其他網絡托管服務商,因此我對當前的托管服務商感到困惑。 我將新的Web應用程序部署到主機上,但是經過幾個小時的測試,很明顯在登錄名和會話狀態方面有些奇怪。

每當我閑置超過10分鍾時,我的MVC驗證令牌突然就會停止解密。 我進入IIS並將機器密鑰設置為靜態值,此問題消失了,但是很明顯,他們將ASP.NET空閑超時設置設置為10分鍾。 這意味着,如果站點上沒有任何活動,則每10分鍾InProc會話數據將被破壞。 我向主機提交了支持票,但他們不願意在我的應用程序池中為我更改該設置,並指出“目前無法在服務器上更改該設置,因為增加此設置可能會影響性能(原文如此)服務器”。

俱樂部有點小,最多只有500個俱樂部成員,而且很少有成員會經常訪問該站點,因此我可以保證10分鍾超時每天會發生多次,並且我有會話超時設置為60分鍾,因此,如果網站的唯一用戶在給定時間閑置10分鍾,則最好進行網站暢通會話。

我的第一個想法是使用SQL會話存儲。 我從未使用過它,但我知道它存在。 但是,存在一個警告,就是我們只能使用350mb的SQL存儲。 盡管這可能超出該站點目前所需的容量,但我想我們可能會接近極限。 我預計不會在會話中存儲大量數據,與Paypal和購物車進行交互時僅存儲少量內容(可能在此處或在此處顯示系統消息),所以這不是一個大問題嗎?

我們確實有無限的磁盤空間,所以我想到的另一種選擇是編寫一個基於磁盤的自定義會話存儲解決方案。 有什么原因可能不是SQL更好的主意嗎?

最后,我有了一個完全不合時宜的“哦,天哪,我不敢相信我正在考慮這樣做”的想法,那就是定期(例如每8分鍾)在每個頁面上進行一次AJAX調用” ping”非緩存的輕量級MVC操作只是為了保持服務器的活動狀態。 我認為,這可能會起作用,但以下情況除外:

  1. 轉到購物頁面並創建購物車
  2. 被轉移到貝寶
  3. 無論出於何種原因,花了10分鍾以上的時間在貝寶屏幕上,而網站上沒有其他人
  4. 回來看到他們的購物車消失了。

在這種情況下,無論如何我可能只是將購物車移至數據庫。

那么...的想法,評論和建議? 我真的對主持人不讓我更改此設置感到沮喪,而我的本能是尋找另一個主持人,但是正如我之前所說,俱樂部對主持人有一些陌生的依戀,並且不想搬到其他地方。

提前致謝!

一些想法:

問題所在:會話在負載平衡系統上“丟失”是很常見的。 可以通過移動到單個指定服務器來解決此問題(如果托管公司現在不這樣做,並提供選項

Cookie會話:如果您使用的是.Net Membership,則可以將登錄過程更改為使用Cookie。 顯而易見, 有些用戶不允許cookie陷阱。 再次考慮。 當前在學校網站上工作,他們希望用戶保持登錄狀態。

**使用Cookies,您的登錄名是穩定的,但是您的會話將不會得到更好的保留。 因此,您很不走運,可以在會話狀態中發揮更大的作用。

最終結果是您可以通過IP或Cookie跟蹤用戶,但是除非這是一個可修復的負載平衡問題,否則您將轉向無會話應用程序。

暫無
暫無

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

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