StreamUpgradeProvider Class

 

Implements a custom upgrade provider, inherited from this abstract base class.

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


public abstract class StreamUpgradeProvider : CommunicationObject

NameDescription
System_CAPS_protmethodStreamUpgradeProvider()

Initializes a new instance of the StreamUpgradeProvider class.

System_CAPS_protmethodStreamUpgradeProvider(IDefaultCommunicationTimeouts)

Initializes a new instance of the StreamUpgradeProvider class.

NameDescription
System_CAPS_protpropertyDefaultCloseTimeout

Gets the DefaultCloseTimeout.(Overrides CommunicationObject.DefaultCloseTimeout.)

System_CAPS_protpropertyDefaultOpenTimeout

Gets the DefaultOpenTimeout.(Overrides CommunicationObject.DefaultOpenTimeout.)

System_CAPS_protpropertyIsDisposed

Gets a value that indicates whether the communication object has been disposed.(Inherited from CommunicationObject.)

System_CAPS_pubpropertyState

Gets a value that indicates the current state of the communication object.(Inherited from CommunicationObject.)

System_CAPS_protpropertyThisLock

Gets the mutually exclusive lock that protects the class instance during a state transition.(Inherited from CommunicationObject.)

NameDescription
System_CAPS_pubmethodAbort()

Causes a communication object to transition immediately from its current state into the closing state.(Inherited from CommunicationObject.)

System_CAPS_pubmethodBeginClose(AsyncCallback, Object)

Begins an asynchronous operation to close a communication object.(Inherited from CommunicationObject.)

System_CAPS_pubmethodBeginClose(TimeSpan, AsyncCallback, Object)

Begins an asynchronous operation to close a communication object with a specified timeout.(Inherited from CommunicationObject.)

System_CAPS_pubmethodBeginOpen(AsyncCallback, Object)

Begins an asynchronous operation to open a communication object.(Inherited from CommunicationObject.)

System_CAPS_pubmethodBeginOpen(TimeSpan, AsyncCallback, Object)

Begins an asynchronous operation to open a communication object within a specified interval of time.(Inherited from CommunicationObject.)

System_CAPS_pubmethodClose()

Causes a communication object to transition from its current state into the closed state.(Inherited from CommunicationObject.)

System_CAPS_pubmethodClose(TimeSpan)

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

System_CAPS_pubmethodCreateUpgradeAcceptor()

Creates an instance of StreamUpgradeAcceptor.

System_CAPS_pubmethodCreateUpgradeInitiator(EndpointAddress, Uri)

Creates an instance of StreamUpgradeInitiator.

System_CAPS_pubmethodEndClose(IAsyncResult)

Completes an asynchronous operation to close a communication object.(Inherited from CommunicationObject.)

System_CAPS_pubmethodEndOpen(IAsyncResult)

Completes an asynchronous operation to open a communication object.(Inherited from CommunicationObject.)

System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_protmethodFault()

Causes a communication object to transition from its current state into the faulted state.(Inherited from CommunicationObject.)

System_CAPS_protmethodFinalize()

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_protmethodGetCommunicationObjectType()

Gets the type of communication object.(Inherited from CommunicationObject.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetProperty<T>()

When implemented in a derived class, gets a property of the current stream that represents an initiator of a stream upgrade.

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_protmethodOnAbort()

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

System_CAPS_protmethodOnBeginClose(TimeSpan, AsyncCallback, Object)

Inserts processing after a communication object transitions to the closing state due to the invocation of an asynchronous close operation.(Inherited from CommunicationObject.)

System_CAPS_protmethodOnBeginOpen(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.)

System_CAPS_protmethodOnClose(TimeSpan)

Inserts processing on a communication object after it transitions to the closing state due to the invocation of a synchronous close operation.(Inherited from CommunicationObject.)

System_CAPS_protmethodOnClosed()

Invoked during the transition of a communication object into the closing state.(Inherited from CommunicationObject.)

System_CAPS_protmethodOnClosing()

Invoked during the transition of a communication object into the closing state.(Inherited from CommunicationObject.)

System_CAPS_protmethodOnEndClose(IAsyncResult)

Completes an asynchronous operation on the close of a communication object.(Inherited from CommunicationObject.)

System_CAPS_protmethodOnEndOpen(IAsyncResult)

Completes an asynchronous operation on the open of a communication object.(Inherited from CommunicationObject.)

System_CAPS_protmethodOnFaulted()

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.)

System_CAPS_protmethodOnOpen(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.)

System_CAPS_protmethodOnOpened()

Invoked during the transition of a communication object into the opened state.(Inherited from CommunicationObject.)

System_CAPS_protmethodOnOpening()

Invoked during the transition of a communication object into the opening state.(Inherited from CommunicationObject.)

System_CAPS_pubmethodOpen()

Causes a communication object to transition from the created state into the opened state.(Inherited from CommunicationObject.)

System_CAPS_pubmethodOpen(TimeSpan)

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

System_CAPS_protmethodThrowIfDisposed()

Throws an exception if the communication object is disposed.(Inherited from CommunicationObject.)

System_CAPS_protmethodThrowIfDisposedOrImmutable()

Throws an exception if the communication object the State property is not set to the Created state.(Inherited from CommunicationObject.)

System_CAPS_protmethodThrowIfDisposedOrNotOpen()

Throws an exception if the communication object is not in the Opened state.(Inherited from CommunicationObject.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

NameDescription
System_CAPS_pubeventClosed

Occurs when a communication object transitions into the closed state.(Inherited from CommunicationObject.)

System_CAPS_pubeventClosing

Occurs when a communication object transitions into the closing state.(Inherited from CommunicationObject.)

System_CAPS_pubeventFaulted

Occurs when a communication object transitions into the faulted state.(Inherited from CommunicationObject.)

System_CAPS_pubeventOpened

Occurs when a communication object transitions into the opened state.(Inherited from CommunicationObject.)

System_CAPS_pubeventOpening

Occurs when a communication object transitions into the opening state.(Inherited from CommunicationObject.)

An example of a stream upgrade is to build a compression stream directly on top of the transport stream. To add a security upgrade, you additionally implement a class that derives from StreamSecurityUpgradeProvider. You can implement multiple upgrades, each wrapping the preceding one.

The upgrade process has the following steps:

  1. Implement a class that derives from StreamUpgradeProvider.

  2. Register it. You do this by creating a binding element for it, and registering the provider in a custom binding.

  3. The derived class that you implement creates an instance of StreamUpgradeInitiator, which at run time initiates a request to the other end of its connection to upgrade the channel transport layer.

  4. The derived class that you implement creates an instance of StreamUpgradeAcceptor, which at run time receives the upgrade request from the preceding step and, if possible, accepts the upgrade and returns the upgraded stream to the other side of its connection.

  5. If there are additional upgrade requests, they are processed sequentially, as described in the preceding two steps.

.NET Framework
Available since 3.0

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

Return to top
Show: