在C#中从Sitecore访问回收站

时间:2014-09-12 07:33:20

标签: c# sitecore archive

我的目标是使用C#代码从Sitecore访问回收站,并将bin中的项目作为数据读取操作列表返回。

我目前的代码是基于我在Google上找到的文档以及我自己的经验,但它实际上并没有包含它声称的内容:

var recycleBinItems = Sitecore.Context.Database.Archives["recyclebin"].GetEntries(0, int.MaxValue);
var binItems = recycleBinItems as IList<ArchiveEntry> ?? recycleBinItems.ToList();

foreach (var item in binItems)
{
    Response.Write(item.Name);
}

以上内容只需从存档“recyclebin”获取ArchiveEntries列表,这是Sitecore(URL.COM/Sitecore)中的一个。

但结果如下:

enter image description here

这不是预期的结果,因为我要求回收站的条目而不是它们的属性/设置(或者它返回的任何内容)

我问过我的工作场所,似乎没有人知道在哪里可以访问它,我希望有人可以帮助我在这里:)

1 个答案:

答案 0 :(得分:5)

Sitecore提供ArchiveManager来访问回收站。

string archiveName = "recyclebin";
var database = Sitecore.Data.Database.GetDatabase("master"); // Get content database

Archive archive = Sitecore.Data.Archiving.ArchiveManager.GetArchive(archiveName, database);

然后使用archive.GetEntriesForUser方法检索已归档的项目。