用于存储从Web服务检索到的客户端数据的数据结构

本文关键字:客户端 数据 数据结构 检索 存储 Web 服务 用于 | 更新日期: 2023-09-27 18:25:23

在web应用程序中,我调用web服务来获取与特定客户端相关的文档的元数据。此调用可能返回一组介于10和300之间的文档记录。我想将检索到的数据存储在Dictionary中(Key=docID-Value=metadata作为复杂类),并首先在Dictionary中检查文档ID。只有在找不到的情况下,我才会调用web服务(然后更新字典)。

如何在用户会话中维护该数据结构
不同的用户可以访问应用程序并请求有关不同(或相同)客户端的数据。在同一时刻最多将有40个用户连接。

创建一个单例类来管理此数据结构的安全性/性能如何而且避免它会长得太多。

有人知道这种情况下的良好做法吗?

用于存储从Web服务检索到的客户端数据的数据结构

我会使用缓存来存储Dictionary。CCD_ 2是在所有CCD_ 3之间在应用范围内共享的。

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