这是我的示例代码:
SPWeb web = SPContext.Current.Web
SPList list = web.Lists["TestList"];
try {
web.AllowUnsafeUpdates = true;
list.Title = "Test";
list.Update();
}
finally {
web.AllowUnsafeUpdates = false;
}
我终于删除了代码块,然后再次尝试。我发现“ web.AllowUnsafeUpdates”仍然为假。
这是否意味着不需要设置
web.AllowUnsafeUpdates = false
? 最佳答案
如果请求持续时间(对于SPContext.Current.Web)或对于相应SPWeb对象的生存期(如果通过web.AllowUnsafeUpdates
或GetWeb(...)
从SPSite获得一个),则设置Webs[]
。
根据“再次尝试”的含义,您可能会为新请求获取SPWeb的新副本。
与try / finally一样,对于范围很广的代码,最好将AllowUnsafeUpdates
设置为tru。可能会有其他代码在同一请求期间运行,并且错误地能够在不应允许的情况下更新对象。