我使用了this管道组件,稍微改了一下,现在看起来像this。
将dll构建并复制到C:\program files (x86)\Microsoft BizTalk Server 2010\Pipeline Components
后,我将组件添加到管道的反汇编阶段。
这是我实现组件的方式:
How I implemented the component http://img267.imageshack.us/img267/2758/biztalk.png
当我部署项目并尝试测试它时,调试输出是:
看起来不会调用Disassemble
方法。为什么呢?
答案 0 :(得分:1)
接收管道的Disassemble阶段中的组件按从上到下的顺序执行,但执行模式为“FirstMatch”。这意味着只要您的Flat File Disassembler识别出文档并处理它,就不会再继续执行任何其他“Disassemble”阶段组件。
解决方案是重构您的管道组件并将其放置在管道的Validate阶段。这需要您将逻辑放在Execute()
方法中,而不是Disassemble()
。
答案 1 :(得分:0)
只是想知道你是否实现了IProbe接口。在反汇编阶段,BizTalk将调用IProbe来确定您的组件是否符合消息的条件,如果是,则反汇编将运行,其他不会。