The ChannelFactoryBase class derives from the ChannelManagerBase class and implements the IChannelFactory interface for creating channels. The methods handle parameter validation and then delegate to protected, virtual or abstract methods that derived classes can override.

Each of the protected virtual methods is automatically synchronized with respect to the other methods on the IChannelFactory interface (including the state transition methods). This means that no additional locking is required to ensure that the object is in a consistent state inside the method body.