InstanceContext 類別

定義

代表服務實例的上下文資訊。

public ref class InstanceContext sealed : System::ServiceModel::Channels::CommunicationObject, System::ServiceModel::IExtensibleObject<System::ServiceModel::InstanceContext ^>
public sealed class InstanceContext : System.ServiceModel.Channels.CommunicationObject, System.ServiceModel.IExtensibleObject<System.ServiceModel.InstanceContext>
type InstanceContext = class
    inherit CommunicationObject
    interface IExtensibleObject<InstanceContext>
Public NotInheritable Class InstanceContext
Inherits CommunicationObject
Implements IExtensibleObject(Of InstanceContext)
繼承
InstanceContext
實作

範例

以下程式碼說明如何從服務取得實例上下文資訊:

string info = "";

OperationContext operationContext = OperationContext.Current;
InstanceContext instanceContext = operationContext.InstanceContext;

info += "    " + "State: " + instanceContext.State.ToString() + "\n";
info += "    " + "ManualFlowControlLimit: " + instanceContext.ManualFlowControlLimit.ToString() + "\n";
info += "    " + "HashCode: " + instanceContext.GetHashCode().ToString() + "\n";

return info;

建構函式

名稱 Description
InstanceContext(Object)

初始化該類別的新實例 InstanceContext ,針對指定物件實作服務實例。

InstanceContext(ServiceHostBase, Object)

初始化該類別的新實例 InstanceContext ,用於指定物件實作服務實例,並由指定主機託管。

InstanceContext(ServiceHostBase)

初始化該類別的新實例 InstanceContext ,用於指定主機所託管的服務。

屬性

名稱 Description
DefaultCloseTimeout

當在派生類別中覆寫時,會得到預設的緊密運算完成時間間隔。

(繼承來源 CommunicationObject)
DefaultOpenTimeout

當在派生類別中覆寫時,會得到預設的開放操作完成時間間隔。

(繼承來源 CommunicationObject)
Extensions

取得與服務實例相關的擴充套件(如有)。

Host

取得服務實例的主機。

IncomingChannels

取得進入服務實例的會話通道。

IsDisposed

會得到一個值,表示通訊物件是否已被處置。

(繼承來源 CommunicationObject)
ManualFlowControlLimit

接收或設定實例上下文可處理訊息數量的限制。

OutgoingChannels

取得從服務實例發出的會話通道。

State

會得到一個表示通訊物件當前狀態的值。

(繼承來源 CommunicationObject)
SynchronizationContext

取得或設定用於執行緒同步的上下文與當前實例上下文。

ThisLock

取得互斥鎖,保護類別實例在狀態轉換期間。

(繼承來源 CommunicationObject)

方法

名稱 Description
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)
EndClose(IAsyncResult)

完成異步操作以關閉通訊物件。

(繼承來源 CommunicationObject)
EndOpen(IAsyncResult)

完成異步操作以開啟通訊物件。

(繼承來源 CommunicationObject)
Equals(Object)

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

(繼承來源 Object)
Fault()

會使通訊物件從當前狀態轉換到故障狀態。

(繼承來源 CommunicationObject)
GetCommunicationObjectType()

取得通訊對象的類型。

(繼承來源 CommunicationObject)
GetHashCode()

做為預設哈希函式。

(繼承來源 Object)
GetServiceInstance()

回傳服務實例的實例上下文。

GetServiceInstance(Message)

回應收到的訊息時,回傳服務的實例上下文。

GetType()

取得目前實例的 Type

(繼承來源 Object)
IncrementManualFlowControlLimit(Int32)

增加服務實例可處理的訊息數量。

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)
ReleaseServiceInstance()

釋放服務實例。

ThrowIfDisposed()

若通訊物件被丟棄,則拋出例外。

(繼承來源 CommunicationObject)
ThrowIfDisposedOrImmutable()

如果通訊物件 該 State 屬性未設定為 Created 狀態,則會拋出例外。

(繼承來源 CommunicationObject)
ThrowIfDisposedOrNotOpen()

如果通訊物件不在該 Opened 狀態,會拋出例外。

(繼承來源 CommunicationObject)
ToString()

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

(繼承來源 Object)

事件

名稱 Description
Closed

當通訊物件轉換到封閉狀態時,會發生這種情況。

(繼承來源 CommunicationObject)
Closing

當通訊物件轉換到關閉狀態時,會發生這種情況。

(繼承來源 CommunicationObject)
Faulted

當通訊物件轉換到錯誤狀態時,會發生這種情況。

(繼承來源 CommunicationObject)
Opened

當通訊物件轉換進入開啟狀態時,會發生這種情況。

(繼承來源 CommunicationObject)
Opening

當通訊物件轉換到開啟狀態時,會發生這種情況。

(繼承來源 CommunicationObject)

明確介面實作

名稱 Description
IExtensibleObject<InstanceContext>.Extensions

會得到一組可擴充物件的擴充物件。

適用於