0

我拿了这个管道组件,稍作改动,现在看起来像这样

在构建 dll 并将其复制到后C:\program files (x86)\Microsoft BizTalk Server 2010\Pipeline Components,我将组件添加到管道的反汇编阶段。

这就是我实现组件的方式:

我如何实现组件 http://img267.imageshack.us/img267/2758/biztalk.png

当我部署项目并尝试对其进行测试时,调试输出为:

  • [1932] 调试:构造函数
  • [1932] 调试:加载
  • [1932] 调试:ReadPropertyBag,propName:BatchSize
  • [1932] 调试:批量大小:5

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

4

2 回答 2

1

Receive Pipeline 的 Disassemble 阶段中的组件按从上到下的顺序执行,但是执行模式是“FirstMatch”。这意味着一旦您的平面文件反汇编器识别并处理该文档,它将不再继续执行任何其他“反汇编”阶段组件。

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

于 2012-04-23T00:25:06.350 回答
0

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

于 2012-04-24T02:05:25.817 回答