StreamUpgradeProvider 類別

定義

實作繼承自這個 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
繼承
StreamUpgradeProvider
衍生

備註

資料流升級的一個範例,就是直接在傳輸資料流的上方建立壓縮資料流。 若要新增安全性升級,您可以另外實作一個衍生自 StreamSecurityUpgradeProvider 的類別。 您可實作多個升級,每一個都包裝前一個。

升級程序的步驟如下:

  1. 實作衍生自 StreamUpgradeProvider 的類別。

  2. 進行註冊。 註冊的方式是為它建立繫結項目,然後在自訂繫結中註冊提供者。

  3. 您所實作的衍生類別會建立 StreamUpgradeInitiator 的執行個體,此執行個體在執行階段會啟始其連線之另一端的要求,以升級通道傳輸層。

  4. 您所實作的衍生類別會建立 StreamUpgradeAcceptor 的執行個體,此執行個體在執行階段會收到上一個步驟中的升級要求,並在可能的情況下接受升級,並將升級的資料流傳回其連線的另一端。

  5. 如果有其他升級要求,將會循序地加以處理,如上述的兩個步驟所述。

建構函式

StreamUpgradeProvider()

初始化 StreamUpgradeProvider 類別的新執行個體。

StreamUpgradeProvider(IDefaultCommunicationTimeouts)

初始化 StreamUpgradeProvider 類別的新執行個體。

屬性

DefaultCloseTimeout

取得 DefaultCloseTimeout。

DefaultOpenTimeout

取得 DefaultOpenTimeout。

IsDisposed

取得值,這個值會指出是否已經處置通訊物件。

(繼承來源 CommunicationObject)
State

取得值,這個值表示通訊物件目前的狀態。

(繼承來源 CommunicationObject)
ThisLock

取得會在狀態轉換期間保護類別執行個體的互斥鎖定。

(繼承來源 CommunicationObject)

方法

Abort()

導致通訊物件立即從目前的狀態轉換為關閉狀態。

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

開始非同步作業以關閉通訊物件。

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

開始非同步作業,關閉有已指定逾時的通訊物件。

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

開始非同步作業以開啟通訊物件。

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

開始非同步作業,開啟有已指定時間間隔的通訊物件。

(繼承來源 CommunicationObject)
Close()

導致通訊物件從目前的狀態轉換為已關閉狀態。

(繼承來源 CommunicationObject)
Close(TimeSpan)

在指定時間間隔內,讓通訊物件從目前的狀態轉換為已關閉狀態。

(繼承來源 CommunicationObject)
CreateUpgradeAcceptor()

建立 StreamUpgradeAcceptor 的執行個體。

CreateUpgradeInitiator(EndpointAddress, Uri)

建立 StreamUpgradeInitiator 的執行個體。

EndClose(IAsyncResult)

完成非同步作業以關閉通訊物件。

(繼承來源 CommunicationObject)
EndOpen(IAsyncResult)

完成非同步作業以開啟通訊物件。

(繼承來源 CommunicationObject)
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
Fault()

導致通訊物件從目前的狀態轉換為錯誤狀態。

(繼承來源 CommunicationObject)
GetCommunicationObjectType()

取得通訊物件的型別。

(繼承來源 CommunicationObject)
GetHashCode()

做為預設雜湊函式。

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

在衍生類別中實作時,會取得表示資料流升級起始端的目前資料流屬性。

GetType()

取得目前執行個體的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
OnAbort()

在通訊物件上插入處理 (當它因為叫用同步中止作業而轉換到關閉狀態之後)。

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

在通訊物件因為叫用非同步關閉作業而轉換到關閉狀態後,插入處理。

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

在通訊物件上插入處理 (當它因為叫用非同步開啟作業而轉換到開啟狀態之後)。

(繼承來源 CommunicationObject)
OnClose(TimeSpan)

在通訊物件上插入處理 (當它因為叫用同步關閉作業而轉換到關閉狀態之後)。

(繼承來源 CommunicationObject)
OnClosed()

在將通訊物件轉換為關閉狀態期間會叫用。

(繼承來源 CommunicationObject)
OnClosing()

在將通訊物件轉換為關閉狀態期間會叫用。

(繼承來源 CommunicationObject)
OnEndClose(IAsyncResult)

在關閉通訊物件時完成非同步作業。

(繼承來源 CommunicationObject)
OnEndOpen(IAsyncResult)

在開啟通訊物件時完成非同步作業。

(繼承來源 CommunicationObject)
OnFaulted()

在通訊物件上插入處理 (當它因為叫用同步錯誤作業而轉換到錯誤狀態之後)。

(繼承來源 CommunicationObject)
OnOpen(TimeSpan)

在通訊物件上插入處理 (當它轉換到開啟狀態之後),此作業必須在指定的時間間隔內完成。

(繼承來源 CommunicationObject)
OnOpened()

在將通訊物件轉換至已開啟狀態期間會叫用。

(繼承來源 CommunicationObject)
OnOpening()

在將通訊物件轉換至開啟狀態期間會叫用。

(繼承來源 CommunicationObject)
Open()

導致通訊物件從已建立狀態轉換為已開啟狀態。

(繼承來源 CommunicationObject)
Open(TimeSpan)

在指定時間間隔內,讓通訊物件從已建立狀態轉換為已開啟狀態。

(繼承來源 CommunicationObject)
ThrowIfDisposed()

如果已處置通訊物件,則會擲回例外狀況。

(繼承來源 CommunicationObject)
ThrowIfDisposedOrImmutable()

如果通訊物件的 State 屬性並未設定為 Created 狀態,就會擲回例外狀況。

(繼承來源 CommunicationObject)
ThrowIfDisposedOrNotOpen()

如果通訊物件不是處於 Opened 狀態,就會擲回例外狀況。

(繼承來源 CommunicationObject)
ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

事件

Closed

當通訊物件轉換至已關閉狀態時發生。

(繼承來源 CommunicationObject)
Closing

當通訊物件轉換至關閉狀態時就會發生。

(繼承來源 CommunicationObject)
Faulted

當通訊物件轉換至錯誤狀態時發生。

(繼承來源 CommunicationObject)
Opened

當通訊物件轉換至已開啟狀態時發生。

(繼承來源 CommunicationObject)
Opening

當通訊物件轉換至開啟狀態時發生。

(繼承來源 CommunicationObject)

適用於

另請參閱