tratando de utilizar un objeto SPWeb que ha sido cerrado o dispuestos y ya no es válida

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

  •  16-10-2019
  •  | 
  •  

Pregunta

Puede alguien por favor dígame lo que está mal con este código?

protegido Button1_Click void (remitente del objeto, EventArgs e) { usando (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>");
            }
        }

    }
¿Fue útil?

Solución

Básicamente no debe disponer el Rootweb, si está utilizando el SPContext. Microsoft ha actualizado las mejores prácticas

aquí es un ejemplo de mención

http: //blogs.msdn.com/b/rogerla/archive/2008/10/04/updated-spsite-rootweb-dispose-guidance.aspx

Otros consejos

¿Es U desechar cualquier SPWeb u objeto SPSite que intantiated utilizando el objeto SPContext? Si es así entonces no es necesario disponer ninguna de ellas.

Licenciado bajo: CC-BY-SA con atribución
scroll top