自訂 Proxy 技術範例
更新:2007 年 11 月
本範例會示範 RealProxy 類別的擴充性。擴充 RealProxy 後,使用者程式碼即可存取往返於任何遠端物件的訊息。本範例會建立三個可執行檔。ProxyWithReturnMessage.exe 應用程式會覆寫 Invoke 方法來顯示訊息資料。ProxyWithCustomCasting.exe 應用程式會使用 IFaq 和 IBaz 兩個介面,示範自訂轉型 (Casting) 的能力。ProxyWiredToHttpChannel.exe 應用程式會顯示如何使用 Http 通道攔截呼叫,並將其轉送至 RemotingHello 服務。
重要事項: |
---|
這個範例會要求您的電腦安裝 Internet Information Services (IIS)。在執行範例應用程式之前,必須先向 IIS 註冊 RemotingHello 服務。 |
如需使用這些範例的詳細資訊,請參閱下列主題:
若要使用命令提示字元建置範例
開啟 [命令提示字元] 視窗,巡覽至 [CS] 子目錄。
在命令列中輸入 msbuild CustomProxiesCS.sln。
注意事項: 這個範例會建置三個主控台應用程式 (Console Application)。您必須使用命令提示字元啟動及執行這些應用程式,才能檢視這三個應用程式的輸出。
若要使用 Visual Studio 建置範例
開啟 [Windows 檔案總管],巡覽至 CS 子目錄。
按兩下 [CustomProxiesCS.sln] 的圖示,在 Visual Studio 中開啟這個檔案。
在 [建置] 功能表上,選擇 [建置方案]。
若要在 IIS 中註冊這項服務
將服務編譯為 DLL,並將這個 DLL 複製到載入服務的 bin 目錄。以上述方式使用命令提示字元或 Visual Studio 建置範例的動作,將會編譯服務、在 ProxyWiredToHttpChannel 下建立 bin 子目錄,並將 Hello.dll 複製到該處。
啟動 [網際網路服務管理員],然後在伺服器節點下選取 [預設網站]。從功能表上選取 [動作]、[新增]、虛擬目錄],然後按一下 [下一步] 繼續。
輸入 RemotingHello 做為別名 (Alias),然後按 [下一步]。
輸入該服務所在的目錄。請輸入完整路徑,一直到 (但不包括) 在步驟 1 中做為 DLL 複製目的地的 bin 目錄。
按一下 [下一步]。接受出現的預設值,然後再按一下 [下一步]。按一下 [完成]。現在這項服務已經註冊完成,並且將出現在 [網際網路服務管理員] 視窗中的 [預設網站] 清單下。
確定該服務註冊的目錄中有 web.config 檔案。這個檔案用於說明這項服務,並且會在用戶端嘗試使用瀏覽器或透過連接埠 80 的 HTTP 通道存取這項服務時自動載入。
若要執行範例
巡覽至內含三個可執行檔之一的目錄:
ProxyWiredToHttpChannel.exe
ProxyWithCustomCasting.exe
ProxyWithReturnMessage.exe
每一個可執行檔都位於與主控台應用程式同名目錄下的 \bin\Debug 子目錄中。
在命令列中輸入可執行檔的名稱。請確定在執行 ProxyWiredToHttpChannel.exe 之前,RemotingHello 服務已經向 IIS 註冊 (如上所述)。
請參閱
概念
參考
System.Runtime.Remoting.Proxies
System.Runtime.Remoting.Messaging