StreamSecurityUpgradeProvider 類別

定義

實作自訂安全性升級提供者,此提供者繼承自這個 abstract 基底類別。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
繼承
StreamSecurityUpgradeProvider

備註

若要新增安全性升級,您可以實作一個衍生自 StreamSecurityUpgradeProvider 的類別。To add a security upgrade, you implement a class that derives from StreamSecurityUpgradeProvider.

升級程序的步驟如下:The upgrade process has the following steps:

  1. 實作衍生自 StreamSecurityUpgradeProvider 的類別。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. 您所實作的衍生類別會建立 StreamSecurityUpgradeInitiator 的執行個體,此執行個體在執行階段會啟始其連線之另一端的要求,以升級通道傳輸層。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. 您所實作的衍生類別會建立 StreamSecurityUpgradeAcceptor 的執行個體,此執行個體在執行階段會收到上一個步驟中的升級要求,並在可能的情況下接受升級,並將升級的資料流傳回其連線的另一端。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. 如需詳細資訊,請參閱StreamUpgradeProviderFor more information, see StreamUpgradeProvider.

建構函式

StreamSecurityUpgradeProvider()

初始化 StreamSecurityUpgradeProvider 類別的新執行個體。Initializes a new instance of the StreamSecurityUpgradeProvider class.

StreamSecurityUpgradeProvider(IDefaultCommunicationTimeouts)

初始化 StreamSecurityUpgradeProvider 類別的新執行個體。Initializes a new instance of the StreamSecurityUpgradeProvider class.

屬性

DefaultCloseTimeout

取得 DefaultCloseTimeout。Gets the DefaultCloseTimeout.

(繼承來源 StreamUpgradeProvider)
DefaultOpenTimeout

取得 DefaultOpenTimeout。Gets the DefaultOpenTimeout.

(繼承來源 StreamUpgradeProvider)
Identity

取得用於安全性升級的識別。Gets the identity being used for the security upgrade.

IsDisposed

取得值,這個值會指出是否已經處置通訊物件。Gets a value that indicates whether the communication object has been disposed.

(繼承來源 CommunicationObject)
State

取得值,這個值表示通訊物件目前的狀態。Gets a value that indicates the current state of the communication object.

(繼承來源 CommunicationObject)
ThisLock

取得會在狀態轉換期間保護類別執行個體的互斥鎖定。Gets the mutually exclusive lock that protects the class instance during a state transition.

(繼承來源 CommunicationObject)

方法

Abort()

導致通訊物件立即從目前的狀態轉換為關閉狀態。Causes a communication object to transition immediately from its current state into the closing state.

(繼承來源 CommunicationObject)
BeginClose(AsyncCallback, Object)

開始非同步作業以關閉通訊物件。Begins an asynchronous operation to close a communication object.

(繼承來源 CommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object)

開始非同步作業,關閉有已指定逾時的通訊物件。Begins an asynchronous operation to close a communication object with a specified timeout.

(繼承來源 CommunicationObject)
BeginOpen(AsyncCallback, Object)

開始非同步作業以開啟通訊物件。Begins an asynchronous operation to open a communication object.

(繼承來源 CommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object)

開始非同步作業,開啟有已指定時間間隔的通訊物件。Begins an asynchronous operation to open a communication object within a specified interval of time.

(繼承來源 CommunicationObject)
Close()

導致通訊物件從目前的狀態轉換已關閉狀態。Causes a communication object to transition from its current state into the closed state.

(繼承來源 CommunicationObject)
Close(TimeSpan)

在指定時間間隔內,讓通訊物件從目前的狀態轉換為已關閉狀態。Causes a communication object to transition from its current state into the closed state within a specified interval of time.

(繼承來源 CommunicationObject)
CreateUpgradeAcceptor()

建立 StreamUpgradeAcceptor 的執行個體。Creates an instance of StreamUpgradeAcceptor.

(繼承來源 StreamUpgradeProvider)
CreateUpgradeInitiator(EndpointAddress, Uri)

建立 StreamUpgradeInitiator 的執行個體。Creates an instance of StreamUpgradeInitiator.

(繼承來源 StreamUpgradeProvider)
EndClose(IAsyncResult)

完成非同步作業以關閉通訊物件。Completes an asynchronous operation to close a communication object.

(繼承來源 CommunicationObject)
EndOpen(IAsyncResult)

完成非同步作業以開啟通訊物件。Completes an asynchronous operation to open a communication object.

(繼承來源 CommunicationObject)
Equals(Object)

判斷指定的物件是否等於目前的物件。Determines whether the specified object is equal to the current object.

(繼承來源 Object)
Fault()

導致通訊物件從目前的狀態轉換為錯誤狀態。Causes a communication object to transition from its current state into the faulted state.

(繼承來源 CommunicationObject)
GetCommunicationObjectType()

取得通訊物件的型別。Gets the type of communication object.

(繼承來源 CommunicationObject)
GetHashCode()

做為預設雜湊函式。Serves as the default hash function.

(繼承來源 Object)
GetProperty<T>()

在衍生類別中實作時,會取得表示資料流升級起始端的目前資料流屬性。When implemented in a derived class, gets a property of the current stream that represents an initiator of a stream upgrade.

(繼承來源 StreamUpgradeProvider)
GetType()

取得目前執行個體的 TypeGets the Type of the current instance.

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。Creates a shallow copy of the current Object.

(繼承來源 Object)
OnAbort()

在通訊物件上插入處理 (當它因為叫用同步中止作業而轉換到關閉狀態之後)。Inserts processing on a communication object after it transitions to the closing state due to the invocation of a synchronous abort operation.

(繼承來源 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.

(繼承來源 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.

(繼承來源 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.

(繼承來源 CommunicationObject)
OnClosed()

在將通訊物件轉換為關閉狀態期間會叫用。Invoked during the transition of a communication object into the closing state.

(繼承來源 CommunicationObject)
OnClosing()

在將通訊物件轉換為關閉狀態期間會叫用。Invoked during the transition of a communication object into the closing state.

(繼承來源 CommunicationObject)
OnEndClose(IAsyncResult)

在關閉通訊物件時完成非同步作業。Completes an asynchronous operation on the close of a communication object.

(繼承來源 CommunicationObject)
OnEndOpen(IAsyncResult)

在開啟通訊物件時完成非同步作業。Completes an asynchronous operation on the open of a communication object.

(繼承來源 CommunicationObject)
OnFaulted()

在通訊物件上插入處理 (當它因為叫用同步錯誤作業而轉換到錯誤狀態之後)。Inserts processing on a communication object after it transitions to the faulted state due to the invocation of a synchronous fault operation.

(繼承來源 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.

(繼承來源 CommunicationObject)
OnOpened()

在將通訊物件轉換至已開啟狀態期間會叫用。Invoked during the transition of a communication object into the opened state.

(繼承來源 CommunicationObject)
OnOpening()

在將通訊物件轉換至開啟狀態期間會叫用。Invoked during the transition of a communication object into the opening state.

(繼承來源 CommunicationObject)
Open()

導致通訊物件從已建立狀態轉換為已開啟狀態。Causes a communication object to transition from the created state into the opened state.

(繼承來源 CommunicationObject)
Open(TimeSpan)

在指定時間間隔內,讓通訊物件從已建立狀態轉換為已開啟狀態。Causes a communication object to transition from the created state into the opened state within a specified interval of time.

(繼承來源 CommunicationObject)
ThrowIfDisposed()

如果已處置通訊物件,則會擲回例外狀況。Throws an exception if the communication object is disposed.

(繼承來源 CommunicationObject)
ThrowIfDisposedOrImmutable()

如果通訊物件的 State 屬性並未設定為 Created 狀態,就會擲回例外狀況。Throws an exception if the communication object the State property is not set to the Created state.

(繼承來源 CommunicationObject)
ThrowIfDisposedOrNotOpen()

如果通訊物件不是處於 Opened 狀態,就會擲回例外狀況。Throws an exception if the communication object is not in the Opened state.

(繼承來源 CommunicationObject)
ToString()

傳回代表目前物件的字串。Returns a string that represents the current object.

(繼承來源 Object)

事件

Closed

當通訊物件轉換至已關閉狀態時發生。Occurs when a communication object transitions into the closed state.

(繼承來源 CommunicationObject)
Closing

當通訊物件轉換至關閉狀態時就會發生。Occurs when a communication object transitions into the closing state.

(繼承來源 CommunicationObject)
Faulted

當通訊物件轉換至錯誤狀態時發生。Occurs when a communication object transitions into the faulted state.

(繼承來源 CommunicationObject)
Opened

當通訊物件轉換至已開啟狀態時發生。Occurs when a communication object transitions into the opened state.

(繼承來源 CommunicationObject)
Opening

當通訊物件轉換至開啟狀態時發生。Occurs when a communication object transitions into the opening state.

(繼承來源 CommunicationObject)

適用於

另請參閱