共用方式為


物件建構技術範例

更新:2007 年 11 月

這個範例會示範物件建構字串在 .NET 環境中的用法。物件建構字串屬於初始化字串,可以透過「元件服務」管理工具進行指定或編輯,無需在元件內部進行組態資訊硬式編碼。範例的使用者介面是具有一個按鈕的表單,能建立使用建構字串的物件。訊息方塊會顯示啟動過程 (Activation) 的各個階段。

如需使用這些範例的詳細資訊,請參閱下列主題:

若要使用命令提示字元建置範例

  1. 開啟 [命令提示字元] 視窗,巡覽至 Technologies\ComponentServices\ObjectConstruction 目錄下其中一個語言特定子目錄。

  2. 根據您選擇的程式設計語言,輸入 msbuild ObjectConstructionCS.sln 或 msbuild ObjectConstructionVB.sln。

若要使用 Visual Studio 建置範例

  1. 開啟 [Windows 檔案總管],巡覽至 Technologies\ComponentServices\ObjectConstruction 目錄下的其中一個語言特定子目錄。

  2. 根據您選擇的程式設計語言,按兩下 ObjectConstructionCS.sln 或 ObjectConstructionVB.sln 的圖示,在 Visual Studio 中開啟這個檔案。

  3. 在 [建置] 功能表上,按一下 [建置方案]。

若要執行範例

  1. 開啟 [命令提示字元] 視窗或 [Windows 檔案總管],巡覽至包含已建置之可執行檔的目錄。

  2. 在命令列中輸入 OCDemo.exe,或在 [Windows 檔案總管] 中按兩下以啟動這個可執行檔。請注意您執行的是 C# (在 \CS 子目錄中) 或 Visual Basic (在 \VB 子目錄中) 版本的範例應用程式,因為這會決定您在下一個步驟,將以系統管理方式編輯何種 COM+ 元件屬性。

  3. 啟動程式後,請按一下 [Create Object] 按鈕。每個啟動階段都會出現一個訊息方塊。請注意對 IObjectConstruct::Construct 的呼叫中所報告的物件建構字串值。

  4. 依序按一下 [開始]、[所有程式]、[系統管理工具] 以及 [元件服務],以啟動「元件服務」管理工具,然後展開畫面左方窗格中的 Component Services\Computers\My Computer\COM+ Applications,找出 OCDemoSvr COM+ 應用程式。

  5. 展開 OCDemoSvr\Components,找出 Microsoft.Samples.Technologies.ComponentServices.ObjectConstruction.ObjectConstructionTest 元件。

  6. 以滑鼠右鍵按一下 [ObjectConstructionTest] 元件,然後從快顯功能表中選取 [Properties]。

  7. 按一下 [Activation] 索引標籤,然後在 [建構函式] 字串編輯欄位中輸入新的文字值。按一下 [確定] 接受變更。

  8. 返回 OCDemo 應用程式,再按一下 [Create Object]。請注意 IObjectConstruct 方法所報告的新值 (它應該與 COM+ 總管元件屬性頁中新編輯過的字串相符)。

若要解除安裝範例

  1. 巡覽至您執行 msbuild.exe 或開啟 .sln 檔案的目錄。

  2. 根據您選擇的程式設計語言,在命令列中輸入 msbuild.exe ObjectConstructionVB.sln /t:Clean 或 msbuild.exe ObjectConstructionCS.sln /t:Clean。這會以 /u 參數呼叫 .NET 服務安裝工具 (Regsvcs.exe)全域組件快取工具 (Gacutil.exe),從 COM+ 類別目錄和全域組件快取中移除範例檔案。

需求

**平台:**Windows 2000、Windows XP、Windows Server 2003

**.NET Framework 版本:**2.0、1.1、1.0

備註

如需範例二進位碼之建立和註冊步驟的詳細資訊,請參閱原始程式碼檔案中的註解。

這個程序會顯示如何在啟用物件建構並使用預設建構字串的情形下,建立 COM+ 元件。在建立物件執行個體時,各種元件方法都會顯示訊息方塊,以顯示呼叫順序。您可以使用「元件服務」管理工具修改物件建構字串,然後重新執行範例,並觀察傳遞給元件執行個體的建構字串是否已變更。

注意事項:

在執行範例之前,您必須先使用全域組件快取工具 (Gacutil.exe) 將 OCDemoSvr.dll 組件安裝至全域組件快取內。Gacutil.exe 位於 SDK\<版本>\Bin 目錄中。例如,如果您建置了範例的 Visual Basic 版本,請巡覽至 C:\Documents and Settings\您的使用者名稱\My Documents\ Samples\Technologies\ComponentServices\ObjectConstruction\VB 目錄,並輸入 gacutil -i OCDemoSvr.dll。

在「元件服務」管理工具中所看到的元件名稱為 Microsoft.Samples.Technologies.ComponentServices.ObjectConstruction.ObjectConstructionTest。

為元件啟用物件建構時,COM+ 會在建立物件的執行個體後,立即呼叫並實作 IObjectContruct::Construct 方法。在元件的啟動屬性中指定的物件建構字串,會做為引數傳遞給方法。這再加上適當使用物件字串的元件程式碼,就能有效地提供參數型的物件建構。

您可以在 ConstructionEnabledAttribute 的 Default 屬性、COM+ 類別目錄或上述兩者中,指定建構字串的預設字串值。

例如,元件開發人員可以使用這個功能來撰寫存放泛型 ODBC 連線的元件。物件建構字串中會有實際的 DSN,可以透過「元件服務」管理工具進行變更。

物件建構字串若是與 COM+ 物件共用服務搭配時會很有用處。

請參閱

概念

在 Managed 程式碼中使用 COM 型別

參考

ConstructionEnabledAttribute

全域組件快取工具 (Gacutil.exe)

ServicedComponent

System.EnterpriseServices

System.Reflection

其他資源

物件建構

寫入服務元件