HOW TO:建立 Serviced 元件
以下程序說明如何建立新的 Serviced 元件。
建立 Serviced 元件
定義直接或間接衍生自 ServicedComponent 類別的類別。例如,以下程式碼可確定
Calculator
類別由 COM+ 應用程式主控。Imports System.EnterpriseServices Public Class Account Inherits ServicedComponent Function Add (x as Integer, y as Integer) As Integer Add = x + y End Function End Class
using System.EnterpriseServices; public class Calculator : ServicedComponent { public int Add (int x, int y) { return(x+y); } }
套用屬性,以指出每個組件、類別或方法應如何與 COM+ 功能互動。
注意: 在 .NET Framework 版本 1.1 中,如果組件中沒有 ApplicationAccessControlAttribute 屬性,便會預設啟用 COM+ 安全性組態。這是 .NET Framework 版本 1.0 以後的行為變更。
<Assembly: ApplicationName(“Calculator”)> <Assembly: System.Reflection.AssemblyKeyFile(“Calculator.snk”)> <MustRunInClientContext> _ Public Class Account Inherits ServicedComponent ‘ Member definitions. End Class
[assembly: ApplicationName("Calculator")] [assembly: System.Reflection.AssemblyKeyFile("Calculator.snk")] [MustRunInClientContext] public class Calculator : ServicedComponent { // Member definitions. }
產生增強金鑰並編譯以下範例:
sn –k Calculator.snk vbc /t:library /r:System.EnterpriseServices.dll Calculator.vb
sn –k Calculator.snk csc /t:library /r:System.EnterpriseServices.dll Calculator.cs
部署 Serviced 元件應用程式,方法是以動態或手動方式註冊其組件。
Serviced 元件註冊完成之後,用戶端即可以和建立其他元件執行個體相同的方式,建立此元件的執行個體。如需完整的範例,請參閱 Serviced 元件範例。
注意: 在 Windows 2000 平台上,COM+ 一律會為您正在建立的元件載入最新版本的 Common Language Runtime。這表示當電腦同時安裝 .NET Framework 版本 1.0 和 .NET Framework 版本 1.1 時,一律會載入 .NET Framework 版本 1.1。另一種因應措施是建立 COM+ dllhost.exe.configuration 檔,讓您可以鎖定所有應用程式,使其使用特定版本的 .NET Framework。在 Windows XP 和 Windows Server 2003 平台上,您可以使用「應用程式根目錄」設定,將 COM+ 指向適當的組態檔目錄。
範例
Imports System.EnterpriseServices
<Assembly: ApplicationName(“Calculator”)>
<Assembly: System.Reflection.AssemblyKeyFile(“Calculator.snk”)>
<MustRunInClientContext> _
Public Class Account
Inherits ServicedComponent
Function Add (x as Integer, y as Integer) As Integer
Add = x + y
End Function
End Class
using System.EnterpriseServices;
[assembly: ApplicationName("Calculator")]
[assembly: System.Reflection.AssemblyKeyFile("Calculator.snk")]
[MustRunInClientContext]
public class Calculator : ServicedComponent
{
public int Add (int x, int y)
{
return(x+y);
}
}
請參閱
參考
概念
套用屬性以設定 COM+ 服務
註冊 Serviced 元件
Serviced 元件範例
可用 COM+ 服務摘要
其他資源
Copyright © 2007 by Microsoft Corporation. All rights reserved.