1

这是我的示例代码:

SPWeb web = SPContext.Current.Web
SPList list = web.Lists["TestList"];

try {
    web.AllowUnsafeUpdates = true;
    list.Title = "Test";
    list.Update();
}

finally {
    web.AllowUnsafeUpdates = false;
}

我删除了 finally 代码块,然后再次尝试。我发现“web.AllowUnsafeUpdates”仍然是假的。这是否意味着web.AllowUnsafeUpdates = false不需要设置?

4

1 回答 1

4

web.AllowUnsafeUpdates为请求的持续时间(对于 SPContext.Current.Web)或相应 SPWeb 对象的生命周期设置,如果通过GetWeb(...)或从 SPSite 获得Webs[]

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

AllowUnsafeUpdates像使用 try/finally 一样,对非常范围的代码片段保持 tru 是一种很好的做法。可能有其他代码将在同一请求期间运行,并且在不应允许时错误地更新对象。

于 2012-07-06T04:11:03.697 回答