2010-07-29 77 views
1

我一直在網上閱讀有關跟蹤用戶的不同選擇,但我似乎無法找到我的情況的「完美」解決方案。用戶+會話處理與ASP.NET和MySQL解決方案

該應用程序將(希望)是高容量,所以我想設計與可擴展性的思想。可能有必要使用多個Web服務器託管該站點,因此會話模式InProc將無法正常工作,對吧?它保存在當前網絡服務器的內存中,並且由於用戶可能從網絡服務器跳轉到網絡服務器,所以我不能確定該會話將保持連接到用戶。

我是否需要創建一個自定義成員資格和角色提供程序與mySQL一起使用,以便能夠使用.NET標準用戶處理系統(如可以處理會話內容的FormsAuthentication)

最佳實踐非常受歡迎,以及類似場景的實證經驗。 (當然歡迎任何的反饋真的:))

回答

1

MySQL的

Marvin Palmer has an article on Implementing .NET Membership and Roles using MySql

會議

在處理會話狀態而言,你在上面你的假設是正確的。您可以實施粘滯會話以確保訪問者路由到同一個Web服務器。儘管如此,這可能是其優化之前的一次優化。面對這些挑戰,當你到達他們。

您可以通過確保將所有Session["foo"]調用現在抽象爲靜態類來幫助自己。如果您還沒有,請創建一個靜態類,其工作僅用於處理設置/獲取會話值。爲每個密鑰創建一個屬性,並以MySessionMgr.CustomerID;的形式從應用程序訪問它們。當/如果您的會話持久性機制發生變化,您只需在該類中更改它。

未來,您可能會考慮使用微軟的多服務器共享會話技術Windows Server AppFabric(以前的代號爲Velocity)。

+0

很好的答案。上帝我愛這個地方。謝謝! – Phil 2010-07-29 21:31:03