首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SPSite构造函数返回缓存的实例。

SPSite构造函数返回缓存的实例。
EN

Stack Overflow用户
提问于 2010-08-23 17:54:29
回答 3查看 274关注 0票数 0

即使站点不再存在,SPSite构造函数(new SPSite(mySiteId))也会返回一个缓存条目。我如何防止这种情况发生?

EN

回答 3

Stack Overflow用户

发布于 2010-08-23 19:36:26

我们有同样的问题,但还没有找到解决方案。我们尝试通过调用静态SPSite.Exists(..)来检查SPSite是否存在。方法。对于不再存在的站点,该方法也会返回true。

但是我们发现了一个小的解决方法。我们试图通过调用SPSite的FileNotFoundException属性来触发一个用法。当异常出现时,我们知道该站点不再存在。

捕获异常后,您可以再次调用SPSite.Exists()方法,该方法现在将返回false。

票数 1
EN

Stack Overflow用户

发布于 2010-08-23 18:00:17

虽然我不知道Sharepoint的详细信息,但我可以告诉您,调用new不会返回缓存对象。它将始终是一个新分配的对象,尽管内部可能指向缓存的对象。

票数 0
EN

Stack Overflow用户

发布于 2013-01-07 17:26:49

有点晚了,但我也有同样的问题。

您可以在SPSite类上调用satic方法InvalidateCacheEntry(Uri uri,Guid siteId)。通过传递一个空的guid和您正在使用的SPSite的uri,您应该能够清除缓存并获得当前值。

请注意,这似乎也是刚刚删除的站点的SPSite.Exists返回"true“问题的原因。通过使用InvalidateCacheEntry方法,我能够检测站点的正确状态(已删除或已存在)。我不知道这个变通方法的性能成本是多少,但如果您将来遇到类似的问题,请考虑一下。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3546440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档