在Sharepoint中,web.AllowUnsafeUpdates的默认值始终为false吗?

时间:2012-07-06 04:02:54

标签: c# sharepoint sharepoint-2010 object-model sharepoint-object-model

这是我的示例代码:

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是不必要的?

1 个答案:

答案 0 :(得分:4)

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

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

优良作法是保持AllowUnsafeUpdates对于非常有范围的代码片段,就像使用try / finally一样。可能有其他代码会在同一个请求期间运行,并且在不应该允许的情况下错误地能够更新对象。