繁体   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