tratando de utilizar un objeto SPWeb que ha sido cerrado o dispuestos y ya no es válida
-
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>");
}
}
}
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
No afiliado a sharepoint.stackexchange