这是我的代码:
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自动释放内存。
请帮我解决这个问题
答案 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())
?
你能粘贴完整的代码吗?