StreamSecurityUpgradeProvider Class

Definition

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

public ref class StreamSecurityUpgradeProvider abstract : System::ServiceModel::Channels::StreamUpgradeProvider
public abstract class StreamSecurityUpgradeProvider : System.ServiceModel.Channels.StreamUpgradeProvider
type StreamSecurityUpgradeProvider = class
    inherit StreamUpgradeProvider
Public MustInherit Class StreamSecurityUpgradeProvider
Inherits StreamUpgradeProvider
Inheritance
StreamSecurityUpgradeProvider

Remarks

To add a security upgrade, you implement a class that derives from StreamSecurityUpgradeProvider.

The upgrade process has the following steps:

  1. Implement a class that derives from StreamSecurityUpgradeProvider.

  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 StreamSecurityUpgradeInitiator, 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 StreamSecurityUpgradeAcceptor, 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.

The security upgrade request can be one of many similar requests. If so, the requests are processed in a definite order. For more information, see StreamUpgradeProvider.

Constructors

StreamSecurityUpgradeProvider()

Initializes a new instance of the StreamSecurityUpgradeProvider class.

StreamSecurityUpgradeProvider(IDefaultCommunicationTimeouts)

Initializes a new instance of the StreamSecurityUpgradeProvider class.

Properties

DefaultCloseTimeout

Gets the DefaultCloseTimeout.

(Inherited from StreamUpgradeProvider)
DefaultOpenTimeout

Gets the DefaultOpenTimeout.

(Inherited from StreamUpgradeProvider)
Identity

Gets the identity being used for the security upgrade.

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.

(Inherited from StreamUpgradeProvider)
CreateUpgradeInitiator(EndpointAddress, Uri)

Creates an instance of StreamUpgradeInitiator.

(Inherited from StreamUpgradeProvider)
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.

(Inherited from StreamUpgradeProvider)
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)

Applies to

See also