如何缓存基于Sharepoint的托管客户端对象模型对象?

时间:2012-08-14 12:31:42

标签: sharepoint caching object model client

我需要缓存某些基于SharePoint管理客户端对象模型的对象,如ClientContext,GroupCollection,User,List等。最初我尝试使用Appfabric缓存,但它提出了一些问题,如“无法序列化”。我的问题是“是否可以序列化基于SharePoint托管客户端对象模型的对象?”。

接下来我尝试使用.NET ObjectCache 来实际缓存SP的托管客户端对象,但问题是我需要分布式/统一缓存技术。据我所知,我们不能让ObjectCache分布在多个托管服务器上。任何人都可以建议我一个解决方案或让我明白继续。提前谢谢。

2 个答案:

答案 0 :(得分:2)

SharePoint客户端对象模型不支持对象缓存w.r.t客户端对象。这是客户端对象模型中的限制。

答案 1 :(得分:0)

您无法序列化上下文或查询结果。此外,ListItem无法序列化。尽管如此:至少在考虑查询结果时,您通常想知道的最重要信息是返回字段的内容。 因此,ListItem.FieldValues是一个简单的Dictionary<string,object>,可以很容易地序列化。

您可以将此词典与Listitem的ID结合使用,以创建自己的缓存机制。