閉じられたり廃棄されたり、もはや有効でないSPWEBオブジェクトを使用しようとしています
-
16-10-2019 - |
質問
誰かがこのコードの何が悪いのか教えてもらえますか?
Protected void button1_click(object sender、eventargs e){を使用(spweb owebsiteroot = spcontext.current.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を使用している場合は、ルートウェブを処分しないでください。 Microsoftはベストプラクティスを更新しました
これが言及されている一例です
http://blogs.msdn.com/b/rogerla/archive/2008/10/04/updated-spsite-rotweb-dispose-guidance.aspx
他のヒント
spcontextオブジェクトを使用してintrantiveしたspwebまたはspsiteオブジェクトを処分していますか?もしそうなら、あなたはそれらのいずれかを処分する必要はありません。
所属していません sharepoint.stackexchange