共用方式為


<channel> 項目 (執行個體)

設定應用程式用來與遠端物件通訊的通道。您也可以宣告及設定不是通道樣板的新通道。

<configuration> 項目
  <system.runtime.remoting> 項目
    <application> 項目
      <channels> 項目 (執行個體)
        <channel> 項目 (執行個體)

<!-- Either reference a channel template --> 
<channel  
   ref="channelRef" 
   displayName="name"
   port="port"
/>
<!-- Or declare a particular channel instance -->
<channel 
   type="ChannelType, ChannelAssembly"
   displayName="name"
   port="port"
   customChannelProperty="propertyValue"
/>

屬性和項目

下列小節將說明屬性、子項目和父項目。

屬性

屬性 描述

ref

選擇性屬性。

指示您用戶端打算用來註冊的通道樣板 id。如果指定 ref 屬性,則不需要指定 type 屬性。

.NET Framework Remoting 提供三種通道實作:"http"、"tcp" 和 "ipc"。如需選擇通道實作的詳細資訊,請參閱選擇通道

displayName

選擇性屬性。

.NET Framework 組態工具用來建立這個應用程式已註冊的通道清單。.NET Framework 遠端處理系統不使用這個屬性。

type

選擇性屬性。

指示通道的完整型別名稱和通道實作所在的組件名稱。如果包含組件是在全域組件快取中,這個名稱包含任何版本、文化特性 (Culture) 和公開金鑰資訊。如果您沒有使用 ref 屬性,則這個屬性為必要項。

.NET Framework Remoting 提供三種通道實作:"http"、"tcp" 和 "ipc"。如需選擇通道實作的詳細資訊,請參閱選擇通道

port

選擇性屬性。

指示合適的通訊埠屬性。例如,如果您想要通道接聽通訊埠,可以指定通訊埠屬性。某些通道,如 TcpChannel,需要通訊埠規格。其他通道,如 HttpChannel,有預設的通訊埠,所以不需要這個屬性。如果您是建立用戶端,而且指定 0 (零) 做為通訊埠,則 .NET Framework 遠端處理系統將會為您選擇合適的通訊埠。如果您沒有為用戶端通道指定通訊埠,那麼用戶端將無法從遠端物件接收回呼函式 (Callback Function)。

portName

IpcChannelIpcServerChannel 的必要屬性。指定伺服器將會公開 (Expose) 的通訊埠名稱。

<customChannelProperty>

選擇性屬性。

指示支援的自訂通道屬性。您可以指定通道可能支援的任何通道屬性數量。自訂通道屬性可以是以屬性/值配組指定的。例如:

<channel 
   ref="CustomChannel" 
   port="61000"   customProperty="PropertyValue" 
/>

useIpAddress

Boolean 值 (truefalse),指定在發行集 URL 中是否使用 IP 位址來取代電腦名稱。例如,無線網路在通過網路時,通常會將可攜式電腦的 IP 位址移動。將這個值指定為 false 將造成使用電腦名稱而不使用位址,因此在漫遊時,遠端通訊將不會中斷連接。預設值是 true。當搭配伺服器通道使用 machineName 屬性時,該屬性會覆寫此值。

machineName

指定與目前通道共用的電腦名稱的字串。如果搭配伺服器通道使用,則會覆寫 useIpAddress

注意:一般而言,使用電腦的網域名稱系統 (DNS) 名稱是個好主意,但若是特定網路介面卡 (NIC) (通常是無線 NIC) 的 IP 位址會快速變更,您就必須將應用程式設定成使用 machineName,以啟用遠端處理透過 DNS 來找尋電腦。但是,當電腦名稱不是以合理的速度進行解析 (或完全不合理),且電腦有一個以上的 NIC 時,不論是實體或虛擬 (在撥號連接或 VPN 網路介面卡時通常是後者),您都應該將 machineName 屬性設定為目前供連接使用的 NIC 的 IP 位址。

子項目

項目 描述

<serverProviders>

包含將插入伺服器端通道接收呼叫鏈結中的接收之接收提供者。如果指定的話,這些接收提供者會完全覆寫通道的預設值。這個項目可以在 <channel> 項目中出現一次。

<clientProviders>

包含將插入用戶端通道接收呼叫鏈結中的接收之接收提供者。如果指定的話,這些接收提供者會完全覆寫通道的預設值。這個項目可以在 <channel> 項目中出現一次。

父項目

項目 描述

application

包含有關應用程式使用及公開遠端物件的資訊。

channels

包含應用程式用來與遠端物件通訊的通道。這個項目設定通道樣板,或宣告與指定應用程式一起使用的新通道。

configuration

Common Language Runtime 和 .NET Framework 應用程式所使用之每個組態檔中的根項目。

system.runtime.remoting

包含有關遠端物件和通道的資訊。

備註

系統提供的 HttpChannelTcpChannelIpcChannel 都是在電腦組態檔中指定的。它們的 id 屬性分別是 "http"、"tcp" 和 "ipc"。

範例

下列組態檔為用戶端應用程式宣告遠端型別的位置,並且使用 <channels> 執行個體項目來指定 .NET Framework 遠端處理系統應該從要連接到伺服器物件的來源尋找合適的通訊埠,以及應該使用預設的 HttpChannel

<configuration>
   <system.runtime.remoting>
      <application>
         <client>
            <wellknown 
               type="RemoteType, RemoteAssembly"
               url="http://computername:8080/RemoteType.rem"
            />
         </client>
         <channels>
            <channel 
               ref="http" 
               port="0"
            />
         </channels>
      </application>
   </system.runtime.remoting>
</configuration>

請參閱

參考

遠端設定結構描述
HttpChannel
HttpClientChannel
HttpServerChannel
TcpChannel
TcpClientChannel
TcpServerChannel
IpcChannel
IpcClientChannel
IpcServerChannel