ChannelFactoryBase Class

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Provides a common base implementation for all custom channel factories.

Inheritance Hierarchy

System.Object
  System.ServiceModel.Channels.CommunicationObject
    System.ServiceModel.Channels.ChannelManagerBase
      System.ServiceModel.Channels.ChannelFactoryBase
        System.ServiceModel.Channels.ChannelFactoryBase<TChannel>

Namespace:  System.ServiceModel.Channels
Assembly:  System.ServiceModel (in System.ServiceModel.dll)

Syntax

'Declaration
Public MustInherit Class ChannelFactoryBase _
    Inherits ChannelManagerBase _
    Implements IChannelFactory, ICommunicationObject
public abstract class ChannelFactoryBase : ChannelManagerBase, 
    IChannelFactory, ICommunicationObject

The ChannelFactoryBase type exposes the following members.

Constructors

  Name Description
Protected methodSupported by Silverlight for Windows Phone ChannelFactoryBase() Initializes a new instance of the ChannelFactoryBase class.
Protected methodSupported by Silverlight for Windows Phone ChannelFactoryBase(IDefaultCommunicationTimeouts) Initializes a new instance of the ChannelFactoryBase class with specified default communication timeouts.

Top

Properties

  Name Description
Protected propertySupported by Silverlight for Windows Phone DefaultCloseTimeout Gets the default interval of time provided for a close operation to complete. (Overrides CommunicationObject.DefaultCloseTimeout.)
Protected propertySupported by Silverlight for Windows Phone DefaultOpenTimeout Gets the default interval of time provided for an open operation to complete. (Overrides CommunicationObject.DefaultOpenTimeout.)
Protected propertySupported by Silverlight for Windows Phone DefaultReceiveTimeout Gets the default interval of time provided for a receive operation to complete. (Overrides ChannelManagerBase.DefaultReceiveTimeout.)
Protected propertySupported by Silverlight for Windows Phone DefaultSendTimeout Gets the default interval of time provided for a send operation to complete. (Overrides ChannelManagerBase.DefaultSendTimeout.)
Protected propertySupported by Silverlight for Windows Phone IsDisposed Gets a value that indicates whether the communication object has been disposed. (Inherited from CommunicationObject.)
Public propertySupported by Silverlight for Windows Phone State Gets a value that indicates the current state of the communication object. (Inherited from CommunicationObject.)
Protected propertySupported by Silverlight for Windows Phone ThisLock Gets the mutually exclusive lock that protects the class instance during a state transition. (Inherited from CommunicationObject.)

Top

Methods

  Name Description
Public methodSupported by Silverlight for Windows Phone Abort Causes a communication object to transition immediately from its current state into the closing state. (Inherited from CommunicationObject.)
Public methodSupported by Silverlight for Windows Phone BeginClose(AsyncCallback, Object) Begins an asynchronous operation to close a communication object. (Inherited from CommunicationObject.)
Public methodSupported by Silverlight for Windows Phone BeginClose(TimeSpan, AsyncCallback, Object) Begins an asynchronous operation to close a communication object with a specified timeout. (Inherited from CommunicationObject.)
Public methodSupported by Silverlight for Windows Phone BeginOpen(AsyncCallback, Object) Begins an asynchronous operation to close a communication object. (Inherited from CommunicationObject.)
Public methodSupported by Silverlight for Windows Phone BeginOpen(TimeSpan, AsyncCallback, Object) Begins an asynchronous operation to close a communication object within a specified interval of time. (Inherited from CommunicationObject.)
Public methodSupported by Silverlight for Windows Phone Close() Causes a communication object to transition from its current state into the closed state. (Inherited from CommunicationObject.)
Public methodSupported by Silverlight for Windows Phone 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.)
Public methodSupported by Silverlight for Windows Phone EndClose Completes an asynchronous operation to close a communication object. (Inherited from CommunicationObject.)
Public methodSupported by Silverlight for Windows Phone EndOpen Completes an asynchronous operation to open a communication object. (Inherited from CommunicationObject.)
Public methodSupported by Silverlight for Windows Phone Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodSupported by Silverlight for Windows Phone Fault Causes a communication object to transition from its current state into the faulted state. (Inherited from CommunicationObject.)
Protected methodSupported by Silverlight for Windows Phone Finalize Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)
Protected methodSupported by Silverlight for Windows Phone GetCommunicationObjectType Gets the type of communication object. (Inherited from CommunicationObject.)
Public methodSupported by Silverlight for Windows Phone GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public methodSupported by Silverlight for Windows Phone GetProperty<T> Returns the typed object requested, if present, from the appropriate layer in the channel stack.
Public methodSupported by Silverlight for Windows Phone GetType Gets the Type of the current instance. (Inherited from Object.)
Protected methodSupported by Silverlight for Windows Phone MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Protected methodSupported by Silverlight for Windows Phone OnAbort Inserts processing on a communication object after it transitions to the closing state due to the invocation of a synchronous abort operation. (Overrides CommunicationObject.OnAbort().)
Protected methodSupported by Silverlight for Windows Phone OnBeginClose Begins an asynchronous operation to close each of the channels that were created by the factory. (Overrides CommunicationObject.OnBeginClose(TimeSpan, AsyncCallback, Object).)
Protected methodSupported by Silverlight for Windows Phone OnBeginOpen When implemented in a derived class, 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.)
Protected methodSupported by Silverlight for Windows Phone OnClose Inserts processing on a communication object after it transitions into the opening state, which must complete within a specified interval of time. (Overrides CommunicationObject.OnClose(TimeSpan).)
Protected methodSupported by Silverlight for Windows Phone OnClosed Invoked during the transition of a communication object into the closing state. (Inherited from CommunicationObject.)
Protected methodSupported by Silverlight for Windows Phone OnClosing Invoked during the transition of a communication object into the closing state. (Inherited from CommunicationObject.)
Protected methodSupported by Silverlight for Windows Phone OnEndClose Completes an asynchronous operation to close channels that were opened by the factory. (Overrides CommunicationObject.OnEndClose(IAsyncResult).)
Protected methodSupported by Silverlight for Windows Phone OnEndOpen When implemented in a derived class, completes an asynchronous operation on the open of a communication object. (Inherited from CommunicationObject.)
Protected methodSupported by Silverlight for Windows Phone 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.)
Protected methodSupported by Silverlight for Windows Phone OnOpen When implemented in a derived class, 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.)
Protected methodSupported by Silverlight for Windows Phone OnOpened Invoked during the transition of a communication object into the opened state. (Inherited from CommunicationObject.)
Protected methodSupported by Silverlight for Windows Phone OnOpening Invoked during the transition of a communication object into the opening state. (Inherited from CommunicationObject.)
Public methodSupported by Silverlight for Windows Phone Open() Causes a communication object to transition from the created state into the opened state. (Inherited from CommunicationObject.)
Public methodSupported by Silverlight for Windows Phone 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.)
Protected methodSupported by Silverlight for Windows Phone ThrowIfDisposed Throws an exception if the communication object is disposed. (Inherited from CommunicationObject.)
Protected methodSupported by Silverlight for Windows Phone ThrowIfDisposedOrImmutable Throws an exception if the communication object the State property is not set to the Created state. (Inherited from CommunicationObject.)
Protected methodSupported by Silverlight for Windows Phone ThrowIfDisposedOrNotOpen Throws an exception if the communication object is not in the Opened state. (Inherited from CommunicationObject.)
Public methodSupported by Silverlight for Windows Phone ToString Returns a string that represents the current object. (Inherited from Object.)

Top

Events

  Name Description
Public eventSupported by Silverlight for Windows Phone Closed Occurs when a communication object transitions into the closed state. (Inherited from CommunicationObject.)
Public eventSupported by Silverlight for Windows Phone Closing Occurs when a communication object transitions into the closing state. (Inherited from CommunicationObject.)
Public eventSupported by Silverlight for Windows Phone Faulted Occurs when a communication object transitions into the faulted state. (Inherited from CommunicationObject.)
Public eventSupported by Silverlight for Windows Phone Opened Occurs when a communication object transitions into the opened state. (Inherited from CommunicationObject.)
Public eventSupported by Silverlight for Windows Phone Opening Occurs when a communication object transitions into the opening state. (Inherited from CommunicationObject.)

Top

Explicit Interface Implementations

  Name Description
Explicit interface implemetationPrivate propertySupported by Silverlight for Windows Phone IDefaultCommunicationTimeouts.CloseTimeout Gets the interval of time after which the close method, invoked by a communication object, times out. (Inherited from ChannelManagerBase.)
Explicit interface implemetationPrivate propertySupported by Silverlight for Windows Phone IDefaultCommunicationTimeouts.OpenTimeout Gets the interval of time after which the open method, invoked by a communication object, times out. (Inherited from ChannelManagerBase.)
Explicit interface implemetationPrivate propertySupported by Silverlight for Windows Phone IDefaultCommunicationTimeouts.ReceiveTimeout Gets the interval of time after which the receive method, invoked by a communication object, times out. (Inherited from ChannelManagerBase.)
Explicit interface implemetationPrivate propertySupported by Silverlight for Windows Phone IDefaultCommunicationTimeouts.SendTimeout Gets the interval of time after which the send method, invoked by a communication object, times out. (Inherited from ChannelManagerBase.)

Top

Remarks

Derive from 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.

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.