如何建置用戶端應用程式
若要建置在 如何建置可遠端處理的型別中定義及由建置主應用程式中建立之應用程式所裝載的遠端型別的用戶端,您的應用程式必須將自己註冊為該遠端物件的用戶端,然後叫用它,就像它在用戶端的應用程式定義域內一樣。.NET 遠端處理系統會攔截您的用戶端叫叫、將它們轉送給遠端物件,並將結果傳回給用戶端。下列程式碼程序描述如何建置簡單的遠端處理用戶端。
建置簡單的遠端處理用戶端
匯入 System.Runtime.Remoting 命名空間。
建立用戶端組態檔,讓用戶端應用程式可以找到遠端物件,並將該檔案儲存在與用戶端應用程式相同的資料夾中。例如,下列組態檔會告知遠端處理系統,
RemotableType
組件中有RemotableType
遠端物件的型別資訊,而且用戶端應該嘗試在 http://localhost:8989/RemotableType.rem 建立並使用RemotableType
物件。<configuration> <system.runtime.remoting> <application> <client> <wellknown type="RemotableType, RemotableType" url="http://localhost:8989/RemotableType.rem" /> </client> </application> </system.runtime.remoting> </configuration>
如需這個組態檔中之 URL 屬性的詳細資訊,請參閱啟動 URL。如果想要透過網路執行這個應用程式,則必須將用戶端組態中的 "localhost" 取代為遠端電腦的名稱。
注意事項
雖然上述組態檔中的設定不多,但是大部分的 .NET 遠端處理使用問題,都起因於這些設定有一部分不正確或不符合用戶端應用程式的組態設定。使用者非常容易拼錯名稱、忘記連接埠或忽略屬性。如果您的遠端處理應用程式發生問題,請先檢查組態設定。
將用戶端應用程式儲存成
Client.
language-extension (或選擇使用另一個檔案名稱,其中 language-extension 是要編譯的語言)。將檔案儲存在目錄中,這個目錄必須與儲存 如何建置可遠端處理的型別 主題中所建置之RemotableType.dll
複本的目錄相同。注意事項
用戶端應用程式不應儲存在與 Listener.exe 應用程式相同的目錄中。如果這些應用程式位在相同目錄中,則因為會執行組件和型別解析,所以您會無法確定是否真的收到和使用遠端參考。
使用 .NET Framework SDK 隨附的命令列工具,編譯用戶端應用程式或呼叫可執行檔。例如,若要編譯用戶端應用程式
Client.
language-extension,請在命令提示字元中,將目錄變更為儲存用戶端應用程式的資料夾,並輸入下列命令:vbc /r:RemotableType.dll Client.vb
csc /noconfig /r:RemotableType.dll Client.cs
範例
' Client.vb
Imports System
Imports System.Runtime.Remoting
Public Class Client
Public Shared Sub Main()
RemotingConfiguration.Configure("Client.exe.config")
Dim remoteObject As New RemotableType()
Console.WriteLine(remoteObject.StringMethod())
End Sub 'Main
End Class 'Client
// Client.cs
using System;
using System.Runtime.Remoting;
public class Client{
public static void Main(){
RemotingConfiguration.Configure("Client.exe.config");
RemotableType remoteObject = new RemotableType();
Console.WriteLine(remoteObject.StringMethod());
}
}