StreamUpgradeProvider Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Implements a custom upgrade provider, inherited from this abstract
base class.
public ref class StreamUpgradeProvider abstract : System::ServiceModel::Channels::CommunicationObject
public abstract class StreamUpgradeProvider : System.ServiceModel.Channels.CommunicationObject
type StreamUpgradeProvider = class
inherit CommunicationObject
Public MustInherit Class StreamUpgradeProvider
Inherits CommunicationObject
- Inheritance
- Derived
Remarks
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:
Implement a class that derives from StreamUpgradeProvider.
Register it. You do this by creating a binding element for it, and registering the provider in a custom binding.
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.
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.
If there are additional upgrade requests, they are processed sequentially, as described in the preceding two steps.
Constructors
StreamUpgradeProvider() |
Initializes a new instance of the StreamUpgradeProvider class. |
StreamUpgradeProvider(IDefaultCommunicationTimeouts) |
Initializes a new instance of the StreamUpgradeProvider class. |
Properties
DefaultCloseTimeout |
Gets the DefaultCloseTimeout. |
DefaultOpenTimeout |
Gets the DefaultOpenTimeout. |
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) |
CreateUpgradeAcceptor() |
Creates an instance of StreamUpgradeAcceptor. |
CreateUpgradeInitiator(EndpointAddress, Uri) |
Creates an instance of StreamUpgradeInitiator. |
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>() |
When implemented in a derived class, gets a property of the current stream that represents an initiator of a stream upgrade. |
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. (Inherited from CommunicationObject) |
OnBeginClose(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) |
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 to the closing state due to the invocation of a synchronous close operation. (Inherited from CommunicationObject) |
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 on the close of a communication object. (Inherited from CommunicationObject) |
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) |