Export (0) Print
Expand All

ChannelBase Class

Provides the base implementation for custom channels.

Namespace:  System.ServiceModel.Channels
Assemblies:   System.ServiceModel (in System.ServiceModel.dll)
  System.ServiceModel.Primitives (in System.ServiceModel.Primitives.dll)

'Declaration
Public MustInherit Class ChannelBase _
	Inherits CommunicationObject _
	Implements IChannel, ICommunicationObject, IDefaultCommunicationTimeouts

The ChannelBase type exposes the following members.

  NameDescription
Protected methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsChannelBaseInitializes a new instance of the ChannelBase class.
Top

  NameDescription
Protected propertySupported by Portable Class LibrarySupported in .NET for Windows Store appsDefaultCloseTimeoutGets the default interval of time provided for a close operation to complete. (Overrides CommunicationObject.DefaultCloseTimeout.)
Protected propertySupported by Portable Class LibrarySupported in .NET for Windows Store appsDefaultOpenTimeoutGets the default interval of time provided for an open operation to complete. (Overrides CommunicationObject.DefaultOpenTimeout.)
Protected propertySupported by Portable Class LibrarySupported in .NET for Windows Store appsDefaultReceiveTimeoutGets the default interval of time provided for a receive operation to complete.
Protected propertySupported by Portable Class LibrarySupported in .NET for Windows Store appsDefaultSendTimeoutGets the default interval of time provided for a send operation to complete.
Protected propertySupported by Portable Class LibrarySupported in .NET for Windows Store appsIsDisposedGets a value that indicates whether the communication object has been disposed. (Inherited from CommunicationObject.)
Protected propertySupported by Portable Class LibrarySupported in .NET for Windows Store appsManagerGets the channel manager that is associated with the current channel.
Public propertySupported by Portable Class LibrarySupported in .NET for Windows Store appsStateGets a value that indicates the current state of the communication object. (Inherited from CommunicationObject.)
Protected propertySupported by Portable Class LibrarySupported in .NET for Windows Store appsThisLockGets the mutually exclusive lock that protects the class instance during a state transition. (Inherited from CommunicationObject.)
Top

  NameDescription
Public methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsAbortCauses a communication object to transition immediately from its current state into the closing state. (Inherited from CommunicationObject.)
Public methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsBeginClose(AsyncCallback, Object)Begins an asynchronous operation to close a communication object. (Inherited from CommunicationObject.)
Public methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsBeginClose(TimeSpan, AsyncCallback, Object)Begins an asynchronous operation to close a communication object with a specified timeout. (Inherited from CommunicationObject.)
Public methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsBeginOpen(AsyncCallback, Object)Begins an asynchronous operation to open a communication object. (Inherited from CommunicationObject.)
Public methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsBeginOpen(TimeSpan, AsyncCallback, Object)Begins an asynchronous operation to open a communication object within a specified interval of time. (Inherited from CommunicationObject.)
Public methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsCloseCauses a communication object to transition from its current state into the closed state. (Inherited from CommunicationObject.)
Public methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsClose(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 Portable Class LibrarySupported in .NET for Windows Store appsEndCloseCompletes an asynchronous operation to close a communication object. (Inherited from CommunicationObject.)
Public methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsEndOpenCompletes an asynchronous operation to open a communication object. (Inherited from CommunicationObject.)
Public methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsFaultCauses a communication object to transition from its current state into the faulted state. (Inherited from CommunicationObject.)
Protected methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Protected methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsGetCommunicationObjectTypeGets the type of communication object. (Inherited from CommunicationObject.)
Public methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsGetProperty(Of T)Returns the typed object requested, if present, from the appropriate layer in the channel stack.
Public methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Protected methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsOnAbortInserts processing on a communication object after it transitions to the closing state due to the invocation of a synchronous abort operation. (Inherited from CommunicationObject.)
Protected methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsOnBeginCloseInserts processing after a communication object transitions to the closing state due to the invocation of an asynchronous close operation. (Inherited from CommunicationObject.)
Protected methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsOnBeginOpenInserts 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 Portable Class LibrarySupported in .NET for Windows Store appsOnCloseInserts processing on a communication object after it transitions to the closing state due to the invocation of a synchronous close operation. (Inherited from CommunicationObject.)
Protected methodSupported in .NET for Windows Store appsOnClosedUses diagnostic tracing during the transition into the closing state. (Overrides CommunicationObject.OnClosed.)
Protected methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsOnClosingInvoked during the transition of a communication object into the closing state. (Inherited from CommunicationObject.)
Protected methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsOnEndCloseCompletes an asynchronous operation on the close of a communication object. (Inherited from CommunicationObject.)
Protected methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsOnEndOpenCompletes an asynchronous operation on the open of a communication object. (Inherited from CommunicationObject.)
Protected methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsOnFaultedInserts 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 Portable Class LibrarySupported in .NET for Windows Store appsOnOpenInserts 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 Portable Class LibrarySupported in .NET for Windows Store appsOnOpenedInvoked during the transition of a communication object into the opened state. (Inherited from CommunicationObject.)
Protected methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsOnOpeningInvoked during the transition of a communication object into the opening state. (Inherited from CommunicationObject.)
Public methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsOpenCauses a communication object to transition from the created state into the opened state. (Inherited from CommunicationObject.)
Public methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsOpen(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 methodThrowIfDisposedThrows an exception if the communication object is disposed. (Inherited from CommunicationObject.)
Protected methodThrowIfDisposedOrImmutableThrows an exception if the communication object the State property is not set to the Created state. (Inherited from CommunicationObject.)
Protected methodThrowIfDisposedOrNotOpenThrows an exception if the communication object is not in the Opened state. (Inherited from CommunicationObject.)
Public methodSupported by Portable Class LibrarySupported in .NET for Windows Store appsToStringReturns a string that represents the current object. (Inherited from Object.)
Top

  NameDescription
Public eventSupported by Portable Class LibrarySupported in .NET for Windows Store appsClosedOccurs when a communication object transitions into the closed state. (Inherited from CommunicationObject.)
Public eventSupported by Portable Class LibrarySupported in .NET for Windows Store appsClosingOccurs when a communication object transitions into the closing state. (Inherited from CommunicationObject.)
Public eventSupported by Portable Class LibrarySupported in .NET for Windows Store appsFaultedOccurs when a communication object transitions into the faulted state. (Inherited from CommunicationObject.)
Public eventSupported by Portable Class LibrarySupported in .NET for Windows Store appsOpenedOccurs when a communication object transitions into the opened state. (Inherited from CommunicationObject.)
Public eventSupported by Portable Class LibrarySupported in .NET for Windows Store appsOpeningOccurs when a communication object transitions into the opening state. (Inherited from CommunicationObject.)
Top

  NameDescription
Explicit interface implemetationPrivate propertySupported by Portable Class LibrarySupported in .NET for Windows Store appsIDefaultCommunicationTimeouts.CloseTimeoutGets the interval of time after which the close method, invoked by a communication object, times out.
Explicit interface implemetationPrivate propertySupported by Portable Class LibrarySupported in .NET for Windows Store appsIDefaultCommunicationTimeouts.OpenTimeoutGets the interval of time after which the open method, invoked by a communication object, times out.
Explicit interface implemetationPrivate propertySupported by Portable Class LibrarySupported in .NET for Windows Store appsIDefaultCommunicationTimeouts.ReceiveTimeoutGets the interval of time after which the receive method, invoked by a communication object, times out.
Explicit interface implemetationPrivate propertySupported by Portable Class LibrarySupported in .NET for Windows Store appsIDefaultCommunicationTimeouts.SendTimeoutGets the interval of time after which the send method, invoked by a communication object, times out.
Top

The ChannelBase class provides an abstract base class implementation of the IChannel interface. It also requires that each channel be associated with a channel manager. Note that the only constructor available for creating instances of ChannelBase requires a channelManager input parameter.

State changes are managed by inheriting from the CommunicationObject implementation of the state machine.

The ChannelBase gets its default communication timeouts for the open, close, send and receive operations from the ChannelManagerBase associated with it.

The ChannelBase also manages the manager for you. In addition to exposing a reference to the manager, the base class also notifies the manager when channels are created and destroyed. But the reference to the manager is only good until the channel is destroyed.

Even if you do use the base class, you must still provide behaviors for opening and closing the channel. The default implementations of these methods do not provide useful information.

You must also make sure to override GetProperty(Of T) whenever you implement a channel. GetProperty(Of T) is an excellent way to communicate information along the channel stack without having to know what channels are below you, or what channels above you may perform queries. Define interfaces that can be queried for available information. Whenever you do not recognize the type argument for GetProperty(Of T), delegate down to the next channel in the stack or return Nothing if you are creating a new transport channel at the bottom of the stack.

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

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