共用方式為


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 方法來註冊。 您也可以從遠端設定載入通道。 (如需詳細資訊,請參閱 <channel> 元素 (範本) 。)

在用戶端上,訊息會在周遊用戶端鏈結之後,將訊息交給用戶端 Context 通道接收鏈結。 第一個 IClientFormatterSink通道接收通常是 ,它會將訊息串行化為將通道接收鏈結向下傳遞至用戶端傳輸接收的數據流。 然後用戶端傳輸接收會將這個資料流寫出至網路。

在伺服器端,伺服器傳輸接收會從網路讀取要求,並將要求數據流傳遞至伺服器通道接收鏈結。 此鏈結結尾的伺服器格式器接收會將要求還原串行化為訊息。 然後,它會將此訊息交給遠端基礎結構,這會將其分派至伺服器 Context 鏈結。

屬性

RegisteredChannels

取得目前已登錄通道的清單。

方法

AsyncDispatchMessage(IMessage, IMessageSink)

根據內嵌在訊息中的 URI,以非同步方式分派指定的訊息至用戶端鏈結。

CreateServerChannelSinkChain(IServerChannelSinkProvider, IChannelReceiver)

建立指定通道的通道接收鏈結。

DispatchMessage(IServerChannelSinkStack, IMessage, IMessage)

分派連入遠端呼叫。

Equals(Object)

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

(繼承來源 Object)
GetChannel(String)

傳回具有指定名稱的已登錄通道。

GetChannelSinkProperties(Object)

針對指定的 Proxy 傳回屬性的 IDictionary

GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
GetUrlsForObject(MarshalByRefObject)

傳回可以用來取得指定物件之所有 URL 的陣列。

MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
RegisterChannel(IChannel)
已淘汰.

登錄具有通道服務的通道。 RegisterChannel(IChannel) 已經過時。 請改用 RegisterChannel(IChannel, Boolean)

RegisterChannel(IChannel, Boolean)

登錄具有通道服務的通道。

SyncDispatchMessage(IMessage)

根據內嵌在訊息中的 URI,同步分派連入訊息至伺服器端鏈結。

ToString()

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

(繼承來源 Object)
UnregisterChannel(IChannel)

移除登錄已登錄通道清單上的特定通道。

適用於

另請參閱