共用方式為


ChannelServices 類別

定義

提供靜態方法以協助遠端通道註冊、解析及 URL 發現。 無法繼承這個類別。

public ref class ChannelServices sealed
public sealed class ChannelServices
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class ChannelServices
type ChannelServices = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type ChannelServices = class
Public NotInheritable Class ChannelServices
繼承
ChannelServices
屬性

備註

通道在應用程式間跨越遠端邊界(如應用域、程序與電腦)傳遞訊息。 這些過境點可以是進站和出站。 通道可以在端點監聽入站訊息,或傳送到端點接收出站訊息,或兩者兼具。 這在執行時提供了一個可擴充的點,可以插入各種協定,即使執行時可能不在通道的另一端。 執行時物件可用來揭露廣泛的語意與實體。 通道提供擴充點,用於將訊息與特定協定之間轉換。

通道必須暴露介面 IChannel ,該介面提供資訊性質,如 和 ChannelNameChannelPriority。 通道是透過此 ChannelServices.RegisterChannel 方法註冊的。 通道也可以從遠端配置載入。 (詳情請參見 <頻道> 元素(範本) 。)

在用戶端,訊息在客戶端通道匯線(sink chain)經過後 Context 會交接給客戶端通道匯(sink chain)。 第一個通道匯通常 IClientFormatterSink為 ,將訊息序列化成串流,並沿通道匯鏈傳遞至用戶端傳輸匯。 客戶端傳輸匯接著將這條串流寫入線路。

在伺服器端,伺服器傳輸匯會讀取線上請求,並將請求串流傳遞給伺服器通道匯流鏈。 這條鏈末端的伺服器格式化器匯入會將請求反序列化成訊息。 接著它會將訊息交給遠端通訊基礎設施,再由其派遣到伺服器 Context 鏈。

屬性

名稱 Description
RegisteredChannels

會獲得目前註冊頻道的清單。

方法

名稱 Description
AsyncDispatchMessage(IMessage, IMessageSink)

非同步地根據訊息中嵌入的 URI 將訊息發送到伺服器端鏈。

CreateServerChannelSinkChain(IServerChannelSinkProvider, IChannelReceiver)

為指定的通道建立一條通道匯鏈。

DispatchMessage(IServerChannelSinkStack, IMessage, IMessage)

調度來電。

Equals(Object)

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

(繼承來源 Object)
GetChannel(String)

回傳一個指定名稱的註冊頻道。

GetChannelSinkProperties(Object)

回傳給定代理的屬性 a IDictionary

GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前實例的 Type

(繼承來源 Object)
GetUrlsForObject(MarshalByRefObject)

回傳一個包含所有可用來存取指定物件的 URL 陣列。

MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
RegisterChannel(IChannel, Boolean)

向頻道服務註冊一個頻道。

RegisterChannel(IChannel)
已淘汰.

向頻道服務註冊一個頻道。 RegisterChannel(IChannel) 已經過時。 請改用 RegisterChannel(IChannel, Boolean)

SyncDispatchMessage(IMessage)

根據訊息中嵌入的 URI,同步派遣收到的訊息到伺服器端鏈。

ToString()

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

(繼承來源 Object)
UnregisterChannel(IChannel)

將特定頻道從註冊頻道列表中移除註冊。

適用於