如何: 建立和使用中繼資料組件

文章翻譯 文章翻譯
文章編號: 323491 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

本文將逐步告訴您,組件是何種中繼資料,以及在何種情況下可以使用它們。本文也會說明如何使用 nowrappedproxy 旗標的 Soapsuds 工具,來產生中繼資料組件。

需求

下列清單列出建議的硬體、 軟體、 網路基礎結構及您需要的服務套件:
  • Visual Studio.NET
  • Microsoft 網際網路資訊服務 (IIS)
本文假設您已熟悉下列主題:
  • Visual Studio.NET
  • Microsoft.NET 架構
  • Microsoft.NET 遠端處理

中繼資料組件有哪些?

中繼資料組件會包含唯一的中繼資料和型別資訊的.NET Framework 組件。中繼資料組件類似型別程式庫中 COM,但中繼資料組件不包含任何實作程式碼。

您可以與一個分散式的用戶端應用程式一起部署所含資訊不足,無法建立遠端 Proxy,並使用該遠端 Proxy 上實際組件可能存放在不同的電腦的方法叫用 (Invoke) 該用戶端應用程式的中繼資料組件。

下列指南示範如何從簡單的.NET 架構元件產生中繼資料組件。

建立簡單的.NET Framework 元件

  1. 在 Visual Studio 中。NET,在 [檔案] 功能表上按一下 [新增],然後按一下 [專案。在 [專案類型 下, 按一下 [Visual C# 專案]。在 [範本,] 下按一下 [類別庫]。
  2. 名稱 變更為 MyRemoteComp,然後按一下 [確定]

    建立類別庫專案。預設會 Class1.cs 中建立 類別類別 1MyRemoteComp 命名空間中。
  3. 複製並貼上下列程式碼在 [類別 1:
    public string SayHello(string sName)
    {
        return "Hi, " + sName;		
    }
    					
  4. 建置] 功能表上按一下 [建置方案] 建置類別庫]。組件稱為 MyRemoteComp.dll。

使用 Soapsuds 工具來產生中繼資料組件

本節說明如何使用 Soapsuds 工具 (Soapsuds.exe),而且很 nowrappedproxy 旗標,以建立中繼資料組件。在先前的步驟中建立的簡單的組件檔用作為輸入:
  1. 在 [開始] 功能表上指向 [程式集]、 按一下 [Microsoft Visual Studio.NET],接著按一下 [Visual Studio.NET 工具,然後再按一下 [Visual Studio.NET 命令提示字元]。
  2. 在 [Visual Studio.NET 命令提示字元,將變更為您建立簡單的類別程式庫組件的所在目錄。預設情況下,組件是 project \bin\debug 目錄中。輸入命令 dir,然後請注意名為 MyRemoteComp.dll 的組件會出現在檔案清單中。
  3. 針對您的組件執行 Soapsuds 工具。要執行此動作輸入下列命令 (做為一個命令列) 在 [Visual Studio.NET 命令提示字元:

    -inputassemblyfile:myremotecomp soapsuds.exe
    -outputassemblyfile:myremotecomp.metaonly.dll-nowrappedproxy


    您現在有第二個組件.dll 名為 Myremotecomp.metaonly.dll。這是中繼資料組件。
您可以使用在遠端用戶端開發與部署此中繼資料組件。當您在開發遠端用戶端將參考加入這個中繼資料組件而非組件,其中包含實作程式碼的參考。如果您開發在 Visual Studio.NET 請依照下列步驟執行,將參考加入:
  1. 在 [專案] 功能表上按一下 [加入參考]。
  2. 按一下 [瀏覽,找出您中繼資料的組件,然後再按一下 [開啟舊檔

    您的組件會出現在 [選取的元件 中。
  3. 按一下 [確定]
您現在可以參考,並在您的用戶端程式碼中使用類別]。

替代使用的-nowrappedproxy

您的用戶端會編譯,也之後,您可以使用中繼資料組件。在此案例中,您必須產生相同的名稱與原始輸入組件是中繼資料的組件檔。如果要執行此動作請輸入下列命令 (做為一個命令列) 在 [Visual Studio.NET 命令提示字元執行 Soapsuds 工具:

-inputassemblyfile:myremotecomp soapsuds.exe
-outputassemblyfile:metaonly/myremotecomp.dll-nowrappedproxy


這個命令中目錄 project \bin\debug\metaonly,就會建立新的中繼資料的組件檔案,並提供新的中繼資料的組件檔案與輸入組件檔案相同的名稱。它將很有幫助為這個新的檔案指定有意義的名稱暫時時操控部署前的檔案。當您在部署新的中繼資料組件名稱變更原始的名稱。

您可以部署這個新的組件編譯對原始輸入組件已經的遠端用戶端。在用戶端應用程式載入組件、 用戶端會依名稱,尋找原始組件檔但用戶端尋找相同名稱的中繼資料組件時此部署組態。用戶端需要只在中繼資料和型別資訊所包含的組件檔來叫用遠端的方法,所以中繼資料組件是夠為此目的。

疑難排解

  • 當您執行 Soapsuds.exe 命令時,請確認您沒有包含.dll 副檔名當您指定輸入組件檔案。
  • < 參考 > 一節中所列出的 Microsoft 開發 o 人 h 員 ? 工 u 具 ? 網路 (MSDN) 發行項中所述,您可以將縮寫 Soapsuds.exe] 引數。
  • 當您變更後已經產生的輸出組件檔案名稱,則要小心。做為與任何.NET Framework 組件的名稱.dll 檔案是中繼資料的一部分。如果名稱不同於出現在中繼資料的名稱已載入組件時,就會發生錯誤。

?考

如需有關 Soapsuds 工具的詳細資訊,請造訪下列 MSDN 網站:
Soapsuds Tool (Soapsuds.exe)
如需詳細資訊按一下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
323490資訊: 設定.NET 遠端服務,當遠端處理用戶端是 ASP.NET 應用程式或用戶端是另一個由 IIS 裝載的遠端元件

屬性

文章編號: 323491 - 上次校閱: 2004年4月22日 - 版次: 3.4
這篇文章中的資訊適用於:
  • Microsoft Visual Studio .NET 2003 專業版
  • Microsoft Visual Studio .NET 2002 Professional Edition
  • Microsoft .NET Framework 1.1
  • Microsoft .NET Framework 1.0
關鍵字:?
kbmt kbhowtomaster KB323491 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:323491
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com