Der Versuch, ein SPWeb -Objekt zu verwenden, das geschlossen oder entsorgt wurde und nicht mehr gültig ist
-
16-10-2019 - |
Frage
Kann mir bitte jemand sagen, was mit diesem Code los ist?
Protected void button1_click (Objektabsender, EventArgs e) {use (spweb owebsiteroot = spcontext.current.sit.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>");
}
}
}
Lösung
Grundsätzlich sollten Sie den RootWeb nicht entsorgen, wenn Sie den SPContext verwenden. Microsoft hat die Best Practices aktualisiert
Hier ist ein Beispiel, das erwähnt wird
http://blogs.msdn.com/b/rogerla/archive/2008/10/04/updated-sspsite-rootweb-dispos-guidance.aspx
Andere Tipps
Entrichten Sie ein SPWEB- oder Sp -Site -Objekt, das Sie mit dem Spcontext -Objekt intensiviert haben? Wenn ja, dann müssen Sie keinen von ihnen entsorgen.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange