题
有人可以告诉我这个代码有什么问题吗?
受保护的void button1_click(对象发送者,EventArgs e){使用(spweb owebsiteroot = spcontext.current.site.site.rootweb){
SPList oList = oWebsiteRoot.Lists["Tasks"];
SPQuery oQuery = new SPQuery();
oQuery.Query = "<Where><Eq><FieldRef Name='Status'/>" +
"<Value Type='Text'>Completed</Value></Eq></Where>";
SPListItemCollection collListItems = oList.GetItems(oQuery);
foreach (SPListItem oListItem in collListItems)
{
Response.Write(SPEncode.HtmlEncode(oListItem["Title"].ToString()) +
"<BR>");
}
}
}
解决方案
基本上,如果您使用的是spcontext,则不应处置rootweb。微软已更新了最佳实践
这是一个示例提及
http://blogs.msdn.com/b/rogerla/archive/2008/10/04/updated-spsite-rootweb-dispose-guidance.aspx
其他提示
您是否处置了使用Spcontext对象进行的任何SPWEB或SPSITE对象?如果是这样,那么您就不必处置其中任何一个。