簡體   English   中英

數據結構,用於存儲從Web服務檢索到的客戶端數據

[英]Data structure to store client data retrieved from a Web Service

在Web應用程序中,我調用Web服務以獲取與特定客戶端有關的文檔的元數據。 此調用可能返回10到300之間的一組文檔記錄。我想將檢索到的數據存儲在Dictionary中(鍵= docID-Value =元數據作為復雜類),然后首先檢查Dictionary中的文檔ID。 只有找不到時,我才調用Web服務(然后更新字典)。

如何在用戶會話中維護該數據結構?
不同的用戶可以訪問該應用程序並請求有關不同(或相同)客戶端的數據。 同一時間最多可連接40個用戶。

創建一個單例類來管理此數據結構的安全性/性能如何? 此外,避免它會增長太多。

有誰知道在這種情況下的良好做法?

我將使用Cache來存儲Dictionary Cache是所有Sessions之間在應用程序范圍內共享的。

if(Cache["Documents"] != null){
    var dict = (Dictionary<int,YourClass>)Cache["Documents"];
    if(!dict.ContainsKey(documentID)){
        dict.Add(documentID, yourComplexClass);
    }
}else{
    var dict = new Dictionary<int,YourClass>();
    dict.Add(documentID, yourComplexClass);
    Cache.Insert("Documents", dict);
}

您可以將字典存儲在會話中。

不知道單例會出現在哪里-只需使用會話管理器即可。

參見http://msdn.microsoft.com/en-us/library/ms178581.aspx

我認為最好將字典存儲應用程序存儲中 ,而不是用戶會話中。

暫無
暫無

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

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