Channel factories that implement the IChannelFactory interface and their associated channels are generally used by the initiators of a communication pattern. Listener factories that implement the IChannelListener interface and their associated listeners provide the mechanisms with which channels are accepted for communications.
This class is not part of the channel model, but of the service model. The CreateFactory method provides the means to create an IChannelFactory for a service endpoint. Use it to construct a client that hooks up to an interface contract on the service without using metadata or policy.
Note: |
|---|
Setting ChannelFactory.Credentials.Windows.AllowedImpersonationLevel to TokenImpersonationLevel.Anonymous always results in an anonymous logon regardless of impersonation level. |
Special note for Managed C++ users deriving from this class:
Put your cleanup code in (On)(Begin)Close (and/or OnAbort), not in a destructor.
Avoid destructors; they cause the compiler to auto-generate IDisposable.
Avoid non-reference members; they can cause the compiler to auto-generate IDisposable.
Avoid using a finalizer; but if you include one, you should suppress the build warning and call SuppressFinalize(Object) and the finalizer itself from (On)(Begin)Close (and/or OnAbort) to emulate what would have been the auto-generated IDisposable behavior.
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.