Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net SPSite构造函数返回缓存的实例。_Asp.net_Sharepoint_Spsite - Fatal编程技术网

Asp.net SPSite构造函数返回缓存的实例。

Asp.net SPSite构造函数返回缓存的实例。,asp.net,sharepoint,spsite,Asp.net,Sharepoint,Spsite,SPSite构造函数(newspsite(mySiteId))返回一个缓存条目,即使站点不再存在。如何防止这种情况发生?虽然我不知道Sharepoint的详细信息,但我可以告诉您,调用new将永远不会返回缓存对象。它将始终是一个新分配的对象,尽管内部可能指向缓存的对象。我们也遇到了同样的问题,还没有找到解决方案。我们试图通过调用静态SPSite.exists(..)方法来检查SPSite是否存在。对于不再存在的站点,该方法也返回true 但我们找到了一个小的解决办法。我们试图通过调用SPSite

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

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

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

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


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

梅比晚了一点,但因为我有同样的问题

您可以在SPSite类上调用satic方法invalidateccachentry(uriuri,guidsiteid)。通过传递您正在使用的SPSite的空guid和uri,您应该能够清除缓存并获取当前值


请注意,这似乎也是SPSite.Exists问题的原因,对于刚刚删除的站点,它返回“true”。通过使用InvalidateCachentry方法,我能够检测站点的正确状态(已删除或存在)。我不知道这个解决方案的性能成本是多少,但是如果以后有类似的问题,请考虑它。

我用一个ID删除SPOT实例,然后尝试使用构造函数获得相同的实例。在我回收应用程序池之前,我会得到一个非空对象。那么SP文档对已删除站点的行为有何评论?好吧,让我们只说SharePoint文档并不是真正完整的。