如何:创建服务组件
以下过程介绍如何创建新的服务组件。
创建服务组件
定义一个从 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
通过动态或手动注册服务组件应用程序的程序集来部署服务组件应用程序。
服务组件注册之后,客户端可以按照它们创建任何其他组件实例的方式来创建该组件的实例。有关完整的示例,请参阅服务组件示例。
注意: 在 Windows 2000 平台上,COM+ 总是为您创建的组件加载最新版本的公共语言运行库。这意味着在同时安装有 .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+ 服务
注册服务组件
服务组件示例
可用的 COM+ 服务摘要
其他资源
版权所有 (C) 2007 Microsoft Corporation。保留所有权利。