0

这是我的代码:

SPWeb oWeb = SPContext.Current.Web;
SPUserToken token = oWeb.AllUsers[@"SHAREPOINTSYSTEM"].UserToken;
using (SPSite elevatedSite = new SPSite(oWeb.Site.ID, token))
 {
    using (SPWeb elevatedweb = site.OpenWeb())
     {

     }
 }

我成功了。但我在共享点的 ULS 日志中看到,有以下例外:“不要处理对象网络”。我想当我对进程使用“使用”时,SPSite 和 SPWeb 会自动释放内存。

请帮我解决这个问题

4

2 回答 2

0

使用 SPDisposeCheck 工具来确定这段代码中是否存在内存泄漏。 http://archive.msdn.microsoft.com/SPDisposeCheck

您能否粘贴 ULS 日志条目以及您如何确定它与您的代码绝对相关?

你的代码:是吗

using (SPWeb elevatedweb = site.OpenWeb())或者

using (SPWeb elevatedweb = elevatedSite.OpenWeb())?

你能粘贴完整的代码吗?

于 2012-10-23T11:20:38.293 回答
0

根据SPDisposeCheck 规则 120SPSite.OpenWeb应该被处置,所以我认为你的错误与elevatedweb. 您可能想要检查代码的其他区域。一定要确保它oWeb没有被丢弃。

于 2012-10-22T16:01:41.257 回答