ChannelFactoryBase Class

Definition

Provides a common base implementation for all custom channel factories.

public ref class ChannelFactoryBase abstract : System::ServiceModel::Channels::ChannelManagerBase, System::ServiceModel::Channels::IChannelFactory
public abstract class ChannelFactoryBase : System.ServiceModel.Channels.ChannelManagerBase, System.ServiceModel.Channels.IChannelFactory
type ChannelFactoryBase = class
    inherit ChannelManagerBase
    interface IChannelFactory
    interface ICommunicationObject
Public MustInherit Class ChannelFactoryBase
Inherits ChannelManagerBase
Implements IChannelFactory
Inheritance
Derived
Implements

Remarks

Use this base class to create a custom channel factory.

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.

Constructors

ChannelFactoryBase()

Initializes a new instance of the ChannelFactoryBase class.

ChannelFactoryBase(IDefaultCommunicationTimeouts)

Initializes a new instance of the ChannelFactoryBase class with specified default communication timeouts.

Properties

DefaultCloseTimeout

Gets the default interval of time provided for a close operation to complete.

DefaultOpenTimeout

Gets the default interval of time provided for an open operation to complete.

DefaultReceiveTimeout

Gets the default interval of time provided for a receive operation to complete.

DefaultSendTimeout

Gets the default interval of time provided for a send operation to complete.

IsDisposed

Gets a value that indicates whether the communication object has been disposed.

(Inherited from CommunicationObject)
State

Gets a value that indicates the current state of the communication object.

(Inherited from CommunicationObject)
ThisLock

Gets the mutually exclusive lock that protects the class instance during a state transition.

(Inherited from CommunicationObject)

Methods

Abort()

Causes a communication object to transition immediately from its current state into the closing state.

(Inherited from CommunicationObject)
BeginClose(AsyncCallback, Object)

Begins an asynchronous operation to close a communication object.

(Inherited from CommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object)

Begins an asynchronous operation to close a communication object with a specified timeout.

(Inherited from CommunicationObject)
BeginOpen(AsyncCallback, Object)

Begins an asynchronous operation to open a communication object.

(Inherited from CommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object)

Begins an asynchronous operation to open a communication object within a specified interval of time.

(Inherited from CommunicationObject)
Close()

Causes a communication object to transition from its current state into the closed state.

(Inherited from CommunicationObject)
Close(TimeSpan)

Causes a communication object to transition from its current state into the closed state within a specified interval of time.

(Inherited from CommunicationObject)
EndClose(IAsyncResult)

Completes an asynchronous operation to close a communication object.

(Inherited from CommunicationObject)
EndOpen(IAsyncResult)

Completes an asynchronous operation to open a communication object.

(Inherited from CommunicationObject)
Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
Fault()

Causes a communication object to transition from its current state into the faulted state.

(Inherited from CommunicationObject)
GetCommunicationObjectType()

Gets the type of communication object.

(Inherited from CommunicationObject)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetProperty<T>()

Returns a typed object requested, if present, from the appropriate layer in the channel stack.

GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
OnAbort()

Inserts processing on a communication object after it transitions to the closing state due to the invocation of a synchronous abort operation.

OnBeginClose(TimeSpan, AsyncCallback, Object)

Begins an asynchronous operation to close each of the channels that were created by the factory.

OnBeginOpen(TimeSpan, AsyncCallback, Object)

Inserts processing on a communication object after it transitions to the opening state due to the invocation of an asynchronous open operation.

(Inherited from CommunicationObject)
OnClose(TimeSpan)

Inserts processing on a communication object after it transitions into the opening state which must complete within a specified interval of time.

OnClosed()

Invoked during the transition of a communication object into the closing state.

(Inherited from CommunicationObject)
OnClosing()

Invoked during the transition of a communication object into the closing state.

(Inherited from CommunicationObject)
OnEndClose(IAsyncResult)

Completes an asynchronous operation to close channels that were opened by the factory.

OnEndOpen(IAsyncResult)

Completes an asynchronous operation on the open of a communication object.

(Inherited from CommunicationObject)
OnFaulted()

Inserts processing on a communication object after it transitions to the faulted state due to the invocation of a synchronous fault operation.

(Inherited from CommunicationObject)
OnOpen(TimeSpan)

Inserts processing on a communication object after it transitions into the opening state which must complete within a specified interval of time.

(Inherited from CommunicationObject)
OnOpened()

Invoked during the transition of a communication object into the opened state.

(Inherited from CommunicationObject)
OnOpening()

Invoked during the transition of a communication object into the opening state.

(Inherited from CommunicationObject)
Open()

Causes a communication object to transition from the created state into the opened state.

(Inherited from CommunicationObject)
Open(TimeSpan)

Causes a communication object to transition from the created state into the opened state within a specified interval of time.

(Inherited from CommunicationObject)
ThrowIfDisposed()

Throws an exception if the communication object is disposed.

(Inherited from CommunicationObject)
ThrowIfDisposedOrImmutable()

Throws an exception if the communication object the State property is not set to the Created state.

(Inherited from CommunicationObject)
ThrowIfDisposedOrNotOpen()

Throws an exception if the communication object is not in the Opened state.

(Inherited from CommunicationObject)
ToString()

Returns a string that represents the current object.

(Inherited from Object)

Events

Closed

Occurs when a communication object transitions into the closed state.

(Inherited from CommunicationObject)
Closing

Occurs when a communication object transitions into the closing state.

(Inherited from CommunicationObject)
Faulted

Occurs when a communication object transitions into the faulted state.

(Inherited from CommunicationObject)
Opened

Occurs when a communication object transitions into the opened state.

(Inherited from CommunicationObject)
Opening

Occurs when a communication object transitions into the opening state.

(Inherited from CommunicationObject)

Explicit Interface Implementations

IDefaultCommunicationTimeouts.CloseTimeout

Gets the interval of time after which the close method, invoked by a communication object, times out.

(Inherited from ChannelManagerBase)
IDefaultCommunicationTimeouts.OpenTimeout

Gets the interval of time after which the open method, invoked by a communication object, times out.

(Inherited from ChannelManagerBase)
IDefaultCommunicationTimeouts.ReceiveTimeout

Gets the interval of time after which the receive method, invoked by a communication object, times out.

(Inherited from ChannelManagerBase)
IDefaultCommunicationTimeouts.SendTimeout

Gets the interval of time after which the send method, invoked by a communication object, times out.

(Inherited from ChannelManagerBase)

Applies to