在SharePoint中进行模拟时,我会获得sharepoint的ULS日志的例外情况

时间:2012-10-22 11:48:03

标签: sharepoint sharepoint-2010 sharepoint-2007

这是我的代码:

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日志中看到,有例外:“不要处置对象web”。我想当我使用“使用”过程,SPSite和SPWeb自动释放内存。

请帮我解决这个问题

2 个答案:

答案 0 :(得分:0)

根据SPDisposeCheck rule 120,应该处理SPSite.OpenWeb,因此我认为您的错误与elevatedweb无关。您可能想要检查代码的其他区域。绝对要确保没有处置oWeb

答案 1 :(得分:0)

使用SPDisposeCheck工具识别这段代码中是否有内存泄漏。 http://archive.msdn.microsoft.com/SPDisposeCheck

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

你的代码:是吗

using (SPWeb elevatedweb = site.OpenWeb())

using (SPWeb elevatedweb = elevatedSite.OpenWeb())

你能粘贴完整的代码吗?