1

これは私のサンプルコードです:

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不要ってことですか?

4

1 に答える 1

4

web.AllowUnsafeUpdatesは、リクエストの期間 (SPContext.Current.Web の場合) または対応する SPWeb オブジェクトの有効期間 (または を介し​​て SPSite から取得された場合) に設定されGetWeb(...)ますWebs[]

「再試行」の意味によっては、新しいリクエストに対して SPWeb の新しいコピーを取得できる可能性があります。

AllowUnsafeUpdatestry/finally を使用する場合と同様に、スコープが非常に限定されたコードの場合は truを維持することをお勧めします。同じリクエスト中に実行される他のコードが存在する可能性があり、許可されるべきではないときに誤ってオブジェクトを更新できてしまう可能性があります。

于 2012-07-06T04:11:03.697 に答える