November 29, 2020
Hot Topics:

BizTalk Pipeline Dreams, Part I

  • By Jeffrey Juday
  • Send Email »
  • More Articles »


The PipelineBinding class in the prototype serves a similar purpose as the Binding class in WCF. PipelineBinding houses a stack of PipelineBindingElements and the resulting Stack created by the stack of PipelineBindingElements. Build is the primary PipelineBinding function. The body of the Build function appears below.

internal void Build()
   Type currentType = null
   PipelineChannelContext channelContext = null
   PipelineBindingElement elm = null;

   for (int n = 0; n < _elementOrder.Count; ++n)
      currentType = _elementOrder[n];

      elm = _elements[currentType];

      channelContext = elm.BuildChannel();



The StandardPipelineConfiguration class is responsible for populating the PipelineBinding.

Binding is primarily the construction foreman and home for the Stack. All the real work of building the Stack happens in the PipelineBindingElement class.

Implementing a PipelineBindingElement

PipelineBindingElements build specific classes derived from the PipelineChannelContext or implementing the IPipelineChannel interface. PipelineBindingElement is an abstract class, so it cannot be instantiated directly.

As you will see in an upcoming article, adding an IPipelineChannel requires building a class implementing IPipelineChannel and building a PipelineBindingElement to build the IPipelineChannel class.

OnBuildChannel does the building work. PipelineBindingElement can pass the BizTalkContext to IPipelineChannels it creates if desired.

To Be Continued

There are still some open issues to cover, such as:

  • How do you build a PipelineBindingElement?
  • How do you set up the Configuration in XML?
  • How do you test and deploy a solution once you have built it?
  • What are some of the things you can do with a Pipeline Channel Stack?

I will answer these questions and more in the next article.


By applying the WCF ideas of BindingElements, Binding, and Channels, you can make a BizTalk 2006 Pipeline Component behave like a WCF Channel Stack. The included source code will show you what you need to do. In a future article, I will show you how to extend the solution.

Page 3 of 3

This article was originally published on June 29, 2007

Enterprise Development Update

Don't miss an article. Subscribe to our newsletter below.

Thanks for your registration, follow us on our social networks to keep up-to-date