在我的C#模板構建模塊之一,我有代碼調試支持SDL Tridion 2011自定義衝突解決和GetListPublishItems()方法
publication.GetListPublishItems(uriTarget, false, false,
TDSDefinesInterop.ListColumnFilter.XMLListDefault, listRowFilter);
以下行實現自定義解析,非常迅速地執行此代碼之前。現在我的解析器已經實現了Publication ItemType,代碼執行得非常慢。由此我得出結論:新的Resolver被GetListPublishItems()
方法在後臺調用(這是有道理的)。我認爲我需要以某種方式修改解析器。但是,當調用方法時,我似乎無法在解析器中找到一個斷點。
我通常在調試模板時附加到「TcmTemplateDebugHost」,或者在調試解析器時直接附加到發佈者進程。當我第一次按下發布時,我的解析器似乎只會被命中,而不是在調用GetListPublishItems()方法時。
所以這個問題是雙重的:當GetListPublishItems()使用方法
- 待辦事項解析器被調用?
- 假設他們被調用,我需要在這種情況下調試時附加哪個進程?
你有沒有試過用dotPeek(http://www.jetbrains.com/decompiler/)查看代碼? – 2012-04-25 06:39:45
由於「顯示要發佈的項目」是GUI中的一個按鈕,我預計它將從服務主機進程調用。 – 2012-04-25 20:05:01
他們被叫?是的,自2011年以來。我懷疑服務主機,但由於您使用COM方法調用它,您可能需要檢查dllhost進程。 – 2012-04-30 12:06:51