我有一个SharePoint 2010服务器场,想为我自己的自定义对象使用对象缓存。
由于它是一个ASP.net应用程序的核心,因此我可以使用HttpRuntime.Cache。另一方面,SharePoint 2010提供了自己的SPCache。
为什么我选择SPCache而不是HttpRuntime.Cache?
最佳答案
仅供参考,最后我选择了SPCache。这确实是一个非常不寻常的SharePoint类:记录良好,使用简单明了,易于管理。
它确实提供了HttpRuntime.Cache不提供的一件事:允许我创建自己的子缓存,并使之无效,而无需擦除整个HttpCache。
我可以使用HttpCache内部的Dictionary来实现相同的功能,但是锁定它会带来一些潜在的问题。我对SPCache进行了反射Reflection ,找到了一个可靠的线程安全实现,这就是我所要遵循的。
请注意:SPCache似乎仅是SharePoint Server,而不是Foundation。