我正在编写一个直接绑定到消息框的业务流程,根据所述业务流程中的接收形状中的过滤器表达式选择消息和过滤器。我遇到的问题是这个;我希望能够更改BizTalk绑定中的过滤器,就像在绑定中更改发送过滤器一样。真的,我只是不想每次我的过滤器更改时重新编译和重新部署。有没有办法做到这一点?我想也许会以某种方式修改binding.xml文件,或者可能尝试使用具有可配置属性的自定义管道(作为我的最后手段)。
如果重要,我通常使用BizTalk部署框架进行部署。
答案 0 :(得分:2)
不,无法在运行时修改接收形状过滤器。
如果过滤器需要是动态的,那么您必须将该逻辑应用于上游。使用自定义管道组件的想法是一种常见的解决方案。
另一种需要考虑的方法是让您接收广泛的接收形状过滤器并使用BRE测试每个传入的消息。如果'通过',继续处理,否则退出。 BRE策略/规则可以在运行时更新。
答案 1 :(得分:0)
对于这类事情,您可能希望在接收管道中执行业务规则,然后在消息上设置上下文属性,然后确定路由。 这样,Orchestration中的过滤器是轻量级的,不需要更改。
见http://brepipelineframework.codeplex.com/(披露:这是由我的一位同事写的)