2012-11-26 64 views
0

如何檢查應用程序狀態如何檢查應用程序的狀態重複的MVC asp.net

我的問題情景重複:

我存儲在應用程序的用戶名和密碼(「」)變量。 另一個用戶輸入用戶名密碼我想檢查每個用戶。

我試圖爲循環,但很難找到數..

,你可以幫我檢查重複

 for (int j = 0; j < (int)System.Web.HttpContext.Current.Application["Userlogin"].ToString().Length - 1; j++) 
       { 
        if (System.Web.HttpContext.Current.Application[i].ToString() == sKey) 
        { 
         Session["duplicateuser"] = "logout"; 
         Returnmsg = "-3"; 
        } 
       } 

,但它顯示了應用程序[]

的字符串長度在此提前感謝

回答

0

我將用戶名和密碼存儲在應用程序[「」]變量

哇,不要。應用程序狀態由應用程序的所有用戶共享。切勿將用戶特定數據存儲在應用程序狀態中改用會話狀態。


UPDATE:

如果你想檢查併發用戶訪問,你可以用戶的集合存儲到應用程序的狀態,如IEnumerable<string>。然後,你可以檢查用戶是否已經登錄易:

public bool IsUserLoggedIn(string username, HttpApplicationStateBase application) 
{ 
    var users = application["users"] as IEnumerable<string>; 
    if (users == null) 
    { 
     users = new ConcurrentBag<string>(); 
     application["users"] = users; 
    } 

    return users.Any(u => u == username); 
} 
+0

我試圖併發用戶登錄檢查做,對於即時試圖存儲用戶名只有當用戶已經是他們的,我用來註銷兩個用戶 – Thiyagarajan

+0

在這種情況下,您應該將一組用戶存儲到應用程序狀態中。我已經更新了我的答案以提供示例。 –

+0

非常感謝您的回覆。你能否詳細解釋,你的意思是,而不是應用程序,我必須使用IList 或必須在應用程序[]狀態用戶IList,如果是這樣解釋它請... – Thiyagarajan

相關問題