文章編號: 312107 - 上次校閱: 2003年4月17日 - 版次: 4.0

如何: 裝載遠端物件在 [Microsoft 網際網路資訊服務

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

結論

附註下列的.NET Framework 類別庫命名空間會參考本文中:

System.Runtime.Remoting

本文提供裝載遠端物件在 [Microsoft 網際網路資訊服務的逐步指示。發行項也提供說明如何建置一個簡單的用戶端呼叫遠端物件。

必要條件:
  • Microsoft Visual Studio.NET 與 Microsoft.NET Framework
  • Microsoft 網際網路資訊服務 (IIS)

建置一個簡單的遠端物件

  1. 使用 Visual 的 Studio.NET 建立一個新 Visual C#.NET 使用類別庫範本的專案。為專案的名稱 HelloWorldObject
  2. 重新命名 Class1.cs Hello.cs 的預設會建立的檔案。
  3. 對於 Hello.cs 的整個程式碼取代下列:
    using System;
    using System.Runtime.Remoting;
    
    namespace HelloWorldObject
    {
    	public class Hello : MarshalByRefObject
    	{
    
    		public string HelloWorld(string str)
    		{
    			return "Hello World received " + str + " from the client";
    		}
    	}
    }
    						
  4. 以滑鼠右鍵按一下 [參考],在 [方案總管] 中,然後再選取 [加入參考]。將參考加入至 System.Runtime.Remoting
  5. 建置方案。

裝載遠端物件在 [Microsoft 網際網路資訊服務

  1. 建立新的目錄 (最好是在 \Inetpub\wwwroot\) 下稱為 HelloWorldWeb
  2. 建立名為 bin HelloWorldWeb 目錄下的目錄。
  3. 從 HelloWorldObject\bin\debug\ 目錄 HelloWorldObject.dll 檔案複製到 [HelloWorldWeb\bin\ 目錄。
  4. 使用 Notepad.exe 來建立一個稱為 Web.config 的新檔案。複製下列文字,並再將它儲存於 HelloWorldWeb 目錄:
    <configuration>
      <system.runtime.remoting>
        <application>
    
          <service>
            <wellknown mode="SingleCall" type="HelloWorldObject.Hello, HelloWorldObject" objectUri="SimpleHelloWorld.soap" />
          </service>
    
        </application>
      </system.runtime.remoting>
    </configuration>
    						
  5. 按一下 [開始],指向 [程式集,然後再按一下 [系統管理工具]。開啟 [網際網路服務管理員]。
  6. 在 IIS 中建立虛擬目錄。
  7. 使虛擬目錄別名 SimpleHello,以及然後組來源目錄至 HelloWorldWeb 目錄。

建置一個簡單的主控台應用程式來測試遠端物件

  1. 將新的 Visual C#.NET 專案加入至現有方案中,選取 [主控台應用程式範本。為專案的名稱 用戶端
  2. 將現有的 Class1.cs 檔案重新命名為 TestClient.cs
  3. 以下列取代現有的程式碼中 TestClient.cs:
    using System;
    using System.Runtime.Remoting;
    using System.Runtime.Remoting.Services;
    using System.Runtime.Remoting.Channels;
    using System.Runtime.Remoting.Channels.Http;
    
    using HelloWorldObject;
    
    namespace Client
    {
    	class TestClient
    	{
    
    		[STAThread]
    		static void Main(string[] args)
    		{
    			HttpChannel http = new HttpChannel();
    			ChannelServices.RegisterChannel(http);
    
    			Hello obj = (Hello)Activator.GetObject(typeof(Hello),"http://localhost/SimpleHello/SimpleHelloWorld.soap");
    			Console.WriteLine(obj.HelloWorld("CLIENT APPLICATION"));
    		}
    	}
    }
    						
  4. 加入下列的參考:
    • System.Runtime.Remoting
    • HelloWorldObject.dll (藉由瀏覽.dll 檔案的位置)
  5. 建置用戶端應用程式。
  6. 請確認 IIS 伺服器是啟動,並執行位於 debug\bin 目錄中的 Client.exe。

?考

Microsoft .NET Remoting: A Technical Overview (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/hawkremoting.asp)


這篇文章中的資訊適用於:
  • Microsoft .NET Framework Class Libraries 1.0
關鍵字:?
kbmt kbfix kbhowtomaster KB312107 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:312107? (http://support.microsoft.com/kb/312107/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。
Retired KB Article依現狀不再更新的知識庫內容免責聲明
本文旨在說明 Microsoft 不再提供支援的產品。因此,本文係依「現狀」提供,不會再更新。