Channel Development Tour, Part 1

This is the start of a long series on channel
development. Some of the material in the
series is going to duplicate topics that I've written about in the past. That's ok.
The goal of the series is to have a walkthrough that is self-contained
and in one place that is easy to read through.
Many of those older articles are for older versions of WCF and may
differ slightly from what was shipped in the final version. Everything in this series is going to talk
about the V1 version of WCF. As an added
bonus, everything here should still be true in the next version of WCF and
future versions after that. This is the
advantage of having to live with backwards compatibility. Future versions of WCF might make it easier
to do the things that I talk about, but the methods in this series should
continue to work forever.

In the end, it should be possible to stitch the articles in
this series together into one massive blob of text although I probably won't go
that far.

Here's what the series is going to cover:

  1. Background
    on the role of channels
  2. WCF
    and the channel model architecture
  3. Basic
    walkthrough of writing channels
  4. Writing
    a simple protocol channel
  5. Advanced
    walkthrough of writing channels
  6. Writing
    a simple transport channel
  7. Specialty
    topics for writing channels

The earlier topics consist of 4 or 5 articles each. The later topics consist of around 10
articles each. As you can see, this is
going to be a really long series in total.
To counter that, I'm not going to run articles in this series all 5 days
a week. You will probably get 3 articles
of this series per week mixed in with other unconnected topics.

Here are the four articles in topic #1:

  1. The
    Introduction (that's this article you're reading now)
  2. When
    to Write a Channel
  3. Protocol
    Channels
  4. Transport
    Channels

I'm not going to do an introduction article for each topic so topic #2 starts directly in the fifth article.

Next time: When to Write a Channel