Попытка использовать объект SPWEB, который был закрыт или утилизирован и больше не является действительным
-
16-10-2019 - |
Вопрос
Кто -нибудь может сказать мне, что не так с этим кодом?
Protected void button1_click (отправитель Object, 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>");
}
}
}
Решение
По сути, вы не должны распоряжаться rootweb, если вы используете SPContext. Microsoft обновила лучшие практики
Вот один пример, упомянутый
http://blogs.msdn.com/b/rogerla/archive/2008/10/04/updated-spsite-rootweb-dispepe-guidance.aspx
Другие советы
Вы утилизируете какой -либо объект SPWEB или SPSITE, который вы намекали, используя объект SPCONTEXT? Если это так, то вам не нужно избавиться от них.
Не связан с sharepoint.stackexchange