自定义反汇编管道不起作用

时间:2012-04-20 09:38:11

标签: c# biztalk biztalk-2010

我使用了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

当我部署项目并尝试测试它时,调试输出是:

  • [1932] DEBUG:Constructor
  • [1932] DEBUG:加载
  • [1932] DEBUG:ReadPropertyBag,propName:BatchSize
  • [1932] DEBUG:BatchSize:5

看起来不会调用Disassemble方法。为什么呢?

2 个答案:

答案 0 :(得分:1)

接收管道的Disassemble阶段中的组件按从上到下的顺序执行,但执行模式为“FirstMatch”。这意味着只要您的Flat File Disassembler识别出文档并处理它,就不会再继续执行任何其他“Disassemble”阶段组件。

解决方案是重构您的管道组件并将其放置在管道的Validate阶段。这需要您将逻辑放在Execute()方法中,而不是Disassemble()

答案 1 :(得分:0)

只是想知道你是否实现了IProbe接口。在反汇编阶段,BizTalk将调用IProbe来确定您的组件是否符合消息的条件,如果是,则反汇编将运行,其他不会。