【发布时间】:2012-04-25 02:06:29
【问题描述】:
在我的一个 C# 模板构建块中,我有以下代码行
publication.GetListPublishItems(uriTarget, false, false,
TDSDefinesInterop.ListColumnFilter.XMLListDefault, listRowFilter);
在实现自定义解析器之前,此代码执行得非常快。现在我的解析器是为 Publication ItemType 实现的,代码执行得非常慢。由此我得出结论,GetListPublishItems() 方法正在幕后调用新的解析器(这是有道理的)。我假设我需要以某种方式修改解析器。但是,当调用该方法时,我似乎无法在解析器中遇到断点。
我通常在调试模板时附加到“TcmTemplateDebugHost”,或者在调试解析器时直接附加到发布者进程。我的解析器似乎只在我第一次按 Publish 时才被击中,而不是在调用 GetListPublishItems() 方法时。
所以这个问题是双重的:
- 使用 GetListPublishItems() 方法时是否会调用解析程序?
- 假设它们被调用,在这种情况下我需要调试它时应该附加到哪个进程?
【问题讨论】:
-
您是否尝试过使用 dotPeek (jetbrains.com/decompiler) 查看代码?
-
由于“显示要发布的项目”是 GUI 中的一个按钮,我希望它是从服务主机进程调用的。
-
他们会被叫到吗?是的,自 2011 年以来。我怀疑服务主机,但由于您使用 COM 方法调用它,您可能需要检查 dllhost 进程。
标签: tridion tridion-2011