Der Versuch, ein SPWeb -Objekt zu verwenden, das geschlossen oder entsorgt wurde und nicht mehr gültig ist

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/5794

  •  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>");
            }
        }

    }
War es hilfreich?

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
scroll top