This generic class enables more advanced scenarios where there is a requirement to create a channel factory that can be used to create more than one type of channel.
When adding behaviors programmatically, the behavior is added to the appropriate Behaviors property on the ChannelFactory prior to the creation of any channel. See the example section for a code sample.