限制訪問Web應用程序的(併發)用戶數量的最佳方式是什麼?限制任何人可以向客戶推銷網站/應用程序以及如何增加用戶數量遠程訪問它?限制訪問asp.net網站的用戶數量
4
A
回答
6
如果使用過程中的會話狀態管理,您可以使用HttpApplicationState類,通過引入Global.asax文件,並把這樣的事情在後面的代碼:
void Application_Start(object sender, EventArgs e)
{
Application["ActiveSessions"] = 0;
}
void Session_Start(object sender, EventArgs e)
{
try
{
Application.Lock();
int activeSessions = (int) Application["ActiveSessions"] + 1;
int allowedSessions = 10; // retrieve the threshold here instead
Application["ActiveSessions"] = activeSessions;
if (activeSessions > allowedSessions)
System.Web.HttpContext.Current.Response.Redirect("~/UserLimitReached.aspx", false);
}
finally
{
Application.UnLock();
}
}
void Session_End(object sender, EventArgs e)
{
Application.Lock();
Application["ActiveSessions"] = (int)Application["ActiveSessions"] - 1;
Application.UnLock();
}
然後,在UserLimitReached.aspx你會調用HttpSession.Abandon()來有效地終止當前會話,所以它不會計入極限。你必須自己找出其餘的。 :)
0
一種方法是跟蹤數據庫中的活動會話,並且每次用戶登錄時都要檢查活動會話的數量。如果它低於一個門檻,讓他們進入,如果沒有,反彈他們。
要遠程管理此號碼,可以使用更簡單的管理表單來更新數據庫中的閾值。
0
除了以前的答案,我認爲你將需要引入你自己的超時,以便會話不會留下並鎖定。如果您有登錄名,則可以基於登錄名進行監控,並通過將每個用戶最近的活動記錄到字典/數組中來保持活動狀態,而不是使用會話。這應該很容易看出哪些用戶正在使用該站點,哪些是最近活躍的用戶。如果將它與會話關聯起來,則可能會使最近最不活躍的用戶使用的會話過期。這樣做的效果是,如果超過指定數量的用戶嘗試使用該網站,則一些(最不活躍的)將不斷需要登錄。鑑於網絡應用程序的不連貫性,我認爲您可能必須允許一定的寬限百分比,以便當限制爲20個用戶時,實際上允許可能有22個同時處於活動狀態。
相關問題
- 1. 限制用戶可以訪問ASP.NET網站的計算機數量?
- 2. 用戶訪問限制網站
- 3. 限制訪問網站
- 4. 網站訪問者人數限制
- 5. 如何限制可以訪問SharePoint網站集的用戶數量?
- 6. 限制對特定用戶的網站公共頁面訪問
- 7. 限制Intranet內的用戶訪問像Facebook,linkedin等網站
- 8. 如何限制用戶訪問AEM網站的單個節點?
- 9. 限制用戶訪問我的網站 - OpenShift
- 10. Magento網站數量限制
- 11. 限制訪問網站的部分(Django)
- 12. 訪問網站文件的限制
- 13. 限制訪問「admin」面板的網站?
- 14. 限制對SharePoint網站的訪問
- 15. 限制基於wifi的網站訪問
- 16. 限制訪問網站上的圖像
- 17. Django限制用戶訪問網址
- 18. 如何在家中限制用戶訪問php網站?
- 19. 超出用戶訪問量限制
- 20. 限制網站訪問QR掃描僅
- 21. joomla網站顯示限制訪問
- 22. 限制網站訪問特定國家
- 23. 限制訪問Azure網站白名單
- 24. asp.net mvc - 限制訪問網頁
- 25. 用戶通過局域網訪問網站的權限(Django)
- 26. 限制訪問限制訪問用戶的PHP腳本
- 27. 限制用戶訪問
- 28. Drupal - 限制訪問用戶
- 29. Subversion限制用戶訪問
- 30. 限制訪問用戶
我認爲你需要努力解釋你以後多做些什麼。您可能正在查看併發用戶的數量。目前尚不清楚您是否要通過與網絡應用的單獨交互來建立「會話」。 [...更多...] – 2008-12-19 06:56:43
此外,將問題的「如何增加」部分分爲單獨的句子。我想這可能是問「我怎樣才能管理性地改變允許的會話數量」。這很容易;編輯數據庫中的數據,說明有多少個併發會話。 [...更多...] – 2008-12-19 06:57:51
但是,您可能也會考慮不允許發生這種情況,除非授權應用程序的發佈者 - 可能是從部署應用程序的人那裏收到更多錢。在那種情況下,你正在處理許可和執照執行。 [...更多...] – 2008-12-19 06:59:04