我正在使用 C# 代码和 Tridion(CMS) 类从 Tridion 获取数据,下面是从 Tridion 获取所有出版物列表的代码。
protected void btnPublishPublicationList_Click(object sender, EventArgs e)
{
try
{
PublicationBL pubBL = new PublicationBL();
TridionCollection<Publication> pubAllList = pubBL.getAllPublicationList();
List<PublicationsBO> pubBos = new List<PublicationsBO>();
foreach (Publication pub in pubAllList)
{
if ((pub.Title.StartsWith("07"))||(pub.Title.StartsWith("08")))
{
PublicationsBO pubBO = new PublicationsBO();
pubBO.publicationID = pub.ID;
pubBO.publicationName = pub.Title;
pubBos.Add(pubBO);
}
}
pubBL.createPublicationListXML(pubBos);
}
catch (Exception ex)
{
log.Error(ex.Message);
}
}
在上面的按钮单击代码中,我使用 .net 代码并使用 Tridion 类来获取所有出版物列表,如下所示:
TridionCollection<Publication> pubAllList = pubBL.getAllPublicationList();
我从 Tridion 非常快地获得了我的所有出版物列表,但是当我进行如下的foreach循环时,我的过程卡住了,并且需要花费大量时间来执行此操作。
foreach (Publication pub in pubAllList)
{
if ((pub.Title.StartsWith("07"))||(pub.Title.StartsWith("08")))
{
PublicationsBO pubBO = new PublicationsBO();
pubBO.publicationID = pub.ID;
pubBO.publicationName = pub.Title;
pubBos.Add(pubBO);
}
}
调试后,我发现当调试器出现时,foreach (Publication pub in pubAllList)
它需要很多时间。我认为在制作Publication类对象时需要时间,它是 Tridion 类。
请建议任何其他方式来执行此操作或建议上述代码中有什么问题。
谢谢。