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.
Frequently client or calling applications (for example, middle-tier applications are client applications, too) using this type also have complex state management needs as well as performance needs. For more information about these scenarios, please see Middle-Tier Client Applications.