Building message-type agnostic orchestrations
From time to time, you might find that you are building very similar orchestrations to process different types of messages. This goes against every basic tenet of development in that it doesn't promote reuse and causes maintenance nightmares. Imagine that your orchestration flow needs to be adjusted and you have to apply the change to each orchestration with the similar flow.
Luckily, orchestration messages do not have to be typed to a specific schema. When we discussed MessageBox
direct binding, we mentioned that an orchestration's subscription, when direct binding is employed, consists of the message type of the activating message in combination with filter properties applied against the activating receive shape. To build a truly type-agnostic orchestration, the message type of the activating message should be set to System.Xml.XmlDocument
. The result of this is that only the filter properties on the receive shape will be assessed during subscription...