我需要缓存某些基于SharePoint管理客户端对象模型的对象,如ClientContext,GroupCollection,User,List等。最初我尝试使用Appfabric缓存,但它提出了一些问题,如“无法序列化”。我的问题是“是否可以序列化基于SharePoint托管客户端对象模型的对象?”。
接下来我尝试使用.NET ObjectCache 来实际缓存SP的托管客户端对象,但问题是我需要分布式/统一缓存技术。据我所知,我们不能让ObjectCache分布在多个托管服务器上。任何人都可以建议我一个解决方案或让我明白继续。提前谢谢。
答案 0 :(得分:2)
SharePoint客户端对象模型不支持对象缓存w.r.t客户端对象。这是客户端对象模型中的限制。
答案 1 :(得分:0)
您无法序列化上下文或查询结果。此外,ListItem
无法序列化。尽管如此:至少在考虑查询结果时,您通常想知道的最重要信息是返回字段的内容。
因此,ListItem.FieldValues
是一个简单的Dictionary<string,object>
,可以很容易地序列化。
您可以将此词典与Listitem的ID结合使用,以创建自己的缓存机制。