質問

I am currently writing an orchestration that is directly bound to the message box, picks up messages and filters according to the filter expression in the receive shape inside said orchestration. The problem I'm having is this; I want to be able to change the filter in the BizTalk bindings, just like send filters are changed in the bindings. Really, I just don't want to have to recompile and re deploy every time My filter changes. Is there a way to do this? I'm thinking maybe modify the binding.xml file somehow, or possibly try a custom pipeline with configurable properties(as my last resort).

If it matters I typically use the BizTalk Deployment Framework for deployments.

役に立ちましたか?

解決

No, it is not possible to modify a Receive Shape Filter at Runtime.

If the filter needs to be dynamic, then you will have to apply that logic upstream. The idea of using a custom Pipeline Component is a common solution.

One other approach to consider is leaving you Receive Shape Filter broad and testing each incoming message with the BRE. If it 'passes', continue processing, otherwise exit. BRE Policies/Rules can be updated at runtime.

他のヒント

For this sort of thing you will probably want to execute Business Rules in the Receive Pipeline that then sets a context property on the message that then determines the routing. That way the filter in the Orchestration is lightweight and doesn't need to be changed.

See http://brepipelineframework.codeplex.com/ (Disclosure: This is written by a colleague of mine)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top