这是我的示例代码:

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.AllowUnsafeUpdatesGetWeb(...)从SPSite获得一个),则设置Webs[]

根据“再次尝试”的含义,您可能会为新请求获取SPWeb的新副本。

与try / finally一样,对于范围很广的代码,最好将AllowUnsafeUpdates设置为tru。可能会有其他代码在同一请求期间运行,并且错误地能够在不应允许的情况下更新对象。

09-25 22:06
查看更多