1

ごみ箱にいくつかの削除されたファイルとフォルダーがあります。アイテムを復元するとき、特別なアルゴリズムに従って他のアイテムを復元する必要があります。そこで、イベント レシーバーで次のコード スニペットを使用して、ごみ箱のアイテムを取得します。

var recycleBinItems = properties.Web.GetRecycleBinItems(new SPRecycleBinQuery());

次に、それらを列挙します。しかし、それは長い操作なので、ごみ箱のリストを取得して、CAML を使用してデータを取得したいと考えています。ごみ箱のオブジェクトを取得するにはどうすればよいですか?

4

1 に答える 1

1

残念ながら、CAML クエリをごみ箱に渡すために使用できる API 呼び出しはありません。ご指摘のとおり、SPWeb クラスにはGetRecycleBinItemsメソッドがありますが、MSDN のドキュメントによると、並べ替え順序を制御したり、返されるアイテムを制限したりする場合にのみ役立ちます。

SPWebのRecycleBinプロパティは基本的に同じゲートウェイですが、既定ではすべてのアイテムが返されます。

将来役立つかもしれないことは、SPWeb には 2 つのごみ箱があるという知識です。1 つは Web レベルにあり、もう 1 つはサイト コレクションにあります。1 週間または 1 か月間だけファイルを保持するように Web レベルのごみ箱を構成できます。これは、より一般的なケースで検索する必要があるファイルを制限するボリュームを考えると理にかなっています。ファイルは Web レベルからサイト コレクション レベルのごみ箱に移動するため、必要に応じてファイルを復元したり、カスタムの期間、そこに保持したりすることもできます。

于 2012-05-25T17:26:02.337 に答える