删除列表时,得到错误"列表不存在"在某些情况下。我的序列是:
try { deleteList("myList"); } catch { } // delete list in case it exists
createList("myList");
// Do something with the list. Does not matter
deleteList("myList");
如果在运行代码时列表不存在,则一切正常。但是如果列表存在,我会收到错误。当我单步执行代码时,我可以看到(在浏览器中)列表真的被删除并重新创建。
当我在createList()和deleteList()之间创建一个新的clientContext时,它可以工作。我假设clientContext中的某些内容搞砸了。
我不认为这与我的功能有关,但在任何情况下,它们都是:
public void CreateList(string title)
{
ListCreationInformation lci = new ListCreationInformation();
lci.Title = title;
lci.TemplateType = (int)ListTemplateType.GenericList;
List spList = context.Web.Lists.Add(lci);
context.Load(spList);
spList.Update();
context.ExecuteQuery();
}
public void DeleteList(string listname)
{
List spList = context.Web.Lists.GetByTitle(listname);
spList.DeleteObject();
context.ExecuteQuery();
}
答案 0 :(得分:0)
@Johannes我将讨论代码在列表存在的情况下失败的情况。
因此,由于Context的不一致,它会出错。正如您所提到的,只需在删除" myList"之后创建新的ClientContext。它会工作得很好。