註冊 Serviced 元件
Serviced 元件是由 COM+ 應用程式裝載,且必須可讓該應用程式存取。為了存取的考量,Serviced 元件有以下的註冊和組態需求:
組件必須具有強式名稱。如需詳細資訊,請參閱使用強式名稱簽署組件。
組件必須在 Windows 登錄中註冊。
型別程式庫定義必須註冊及安裝於特定的 COM+ 應用程式。
以程式設計方式新增的服務必須在 COM+ 目錄 (Catalog) 中設定。
對 Serviced 元件有用的註冊資訊包括下列各項:
COM+ 應用程式識別
啟動類型
描述資訊
COM+ 應用程式識別
您可以利用名稱或 GUID 識別現有的 COM+ 目標應用程式。.NET 服務安裝工具 (Regsvcs.exe) 提供 /appname:選項以指定應用程式名稱。
如需有關如何指定應用程式名稱的資訊,請參閱 HOW TO:使用 ApplicationName 屬性設定應用程式名稱。
如果您對組件套用 ApplicationID 屬性 (或 Guid 屬性),則對此應用程式的所有搜尋都會依據該 GUID 而非應用程式名稱進行。
如需如何指定應用程式識別碼的詳細資訊,請參閱 HOW TO:將 ApplicationID 屬性套用到組件。
注意: |
---|
對於動態註冊而言,指定目標應用程式的唯一方式,是在設計階段套用 ApplicationNameAttribute、ApplicationIDAttribute 或 GuidAttribute 屬性。.NET 服務安裝工具 (Regsvcs.exe) 提供了 /appname:參數,在編譯階段指定應用程式名稱或 GUID。Regsvcs.exe 也提供 /parname:參數來識別特定的 COM+ 分割。只有 Windows Server 2003 平台才有 COM+ 分割服務可用。 |
如果未指定或找不到目標應用程式,註冊機制便會使用組件的完整名稱 (不加上版本號碼) 建立應用程式。
注意: |
---|
請勿將 ApplicationIDAttribute 屬性與 COM+ 分割服務搭配使用。如果您使用 COM+ 分割服務,則套用 ApplicationIDAttribute 屬性將造成分割組態無法進行。只有 Windows Server 2003 平台才有 COM+ 分割服務可用。 |
啟動類型
啟動類型決定了您的 Serviced 元件要在哪個處理序中建立。您可以在組件上套用 ApplicationActivationAttribute 屬性,以指定啟動類型。ApplicationActivationAttribute 屬性必須使用以下兩個列舉值之一搭配宣告:
ActivationOption.Library:指定 COM+ 程式庫應用程式;組件中的 Serviced 元件會在呼叫者的處理序中啟動。
ActivationOption.Server:指定 COM+ 伺服器應用程式;組件中的 Serviced 元件會在系統提供的新處理序中啟動。
注意: |
---|
如需有關如何設定應用程式啟動類型的詳細資訊,請參閱 HOW TO:設定應用程式的啟動類型。 |
注意: |
---|
如果 ApplicationActivationAttribute 屬性設為 ActivationOption.Server,則組件及其所相依的組件都必須使用 Windows Installer 新增至全域組件快取 (GAC),此伺服器應用程式才能使用;否則此應用程式會產生例外狀況。此外,如果 ApplicationActivationAttribute 屬性設為 ApplicationOption.Server,Serviced 元件的任何參數都必須標示為 System.Serializable,或是必須衍生自 System.MarshalByRefObject 類別。如果沒有,應用程式會產生例外狀況。 |
描述資訊
描述雖不是必要,但有時對於區別類似的組件相當有用。
如需有關如何設定應用程式啟動類型的詳細資訊,請參閱 HOW TO:將 Discription 屬性套用到組件。
本區段的下列主題,描述部署使用 COM+ 服務之應用程式的註冊機制:
這兩個註冊機制利用合併註冊 Serviced 元件步驟的方式,簡化註冊程序。這兩個機制都要求元件使用者必須是系統管理員群組的成員。對於動態註冊,您可以在設計階段提供註冊資訊,而部分註冊資訊可在編譯階段提供。對於手動註冊,您可以在設計階段、編譯階段和註冊階段提供這項資訊。如果您省略註冊資訊,註冊處理序便會從中繼資料產生這些資訊。註冊處理序會偵測 (有時也會更正) 不相容的屬性組合。
請參閱
工作
參考
ApplicationNameAttribute
ApplicationIDAttribute
GuidAttribute
ApplicationActivationAttribute
DescriptionAttribute
System.EnterpriseServices Namespace
概念
Serviced 元件概觀
套用屬性以設定 COM+ 服務
Serviced 元件範例
可用 COM+ 服務摘要
其他資源
撰寫 Serviced 元件
Extending Metadata Using Attributes
Copyright © 2007 by Microsoft Corporation. All rights reserved.