我在回收站里有一些被删除的文件和文件夹。当我恢复一个项目时,我需要根据我的特殊算法恢复其他一些项目。因此,我在事件接收器中使用以下代码片段来获取回收站的项目:
var recycleBinItems = properties.Web.GetRecycleBinItems(new SPRecycleBinQuery());然后我会列举它们。但这是一个很长的操作,所以我想获得一个回收站列表,以便使用CAML来检索数据。如何获取回收站的对象?
发布于 2012-05-26 01:26:02
不幸的是,没有API调用可以用来将CAML查询传递到回收站。正如您已经注意到的,在SPWeb类上有一个GetRecycleBinItems方法,但是根据MSDN上的文档,它只用于控制排序顺序或限制返回的项。
SPWeb的RecycleBin属性基本上是相同的网关,尽管它在默认情况下返回所有项。
将来可能会对你有帮助的是,SPWeb有两个回收站-一个在web级别,另一个在网站集合中。您可以将web级回收站配置为只保留一个星期或一个月的文件-考虑到您的卷在更一般的情况下限制您需要搜索的文件,这样做是有意义的。这些文件将从web级别移动到网站集级回收站,因此如果需要,您仍然可以恢复它们,并且可以在那里维护一段自定义的时间段。
https://stackoverflow.com/questions/10755198
复制相似问题