扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:冷枫 来源:CSDN 2007年9月21日
关键字:
在本页阅读全文(共3页)
2. COM+ 应用程序标识
可以通过名称或 GUID 标识现有的 COM+ 目标应用程序。.NET 服务安装工具 (Regsvcs.exe) 提供 /appname: 选项,用于指定应用程序名。
[ assembly: ApplicationName("BankComponent")]
如果将 ApplicationID 属性(或 Guid 属性)应用到程序集,如下面的示例所示,则所有针对应用程序的搜索都基于该 GUID,而不基于应用程序名。
[ assembly: ApplicationName("BankComponent")]
[ assembly: ApplicationID("4fb2d46f-efc8-4643-bcd0-6e5bfa6a174c")]
3. 激活类型
激活类型确定服务组件是在调用方的进程(库)中还是在新进程(服务器)中创建的。可以应用 ApplicationActivationAttribute 属性来指定激活类型。
注意 如果 ApplicationActivationAttribute 属性设置为 Server - [ assembly: ApplicationActivation(ActivationOption.Server)],则在可以使用服务器应用程序之前,必须用 Windows 安装程序将程序集及其所依赖的所有程序集添加到全局程序集缓存 (GAC) 中;否则,应用程序将产生异常。此外,如果 ApplicationActivationAttribute 属性设置为 Server,则服务组件的任何参数都必须标记为 Serializable,或者必须从 MarshalByRefObject 类派生。否则,应用程序将产生异常。
默认设置为:[ assembly: ApplicationActivation(ActivationOption.Library)]
4. 注册服务组件
服务组件由 COM+ 应用程序承载,且必须对该应用程序是可访问的。为了便于访问,服务组件有下面的注册和配置要求:
· 程序集必须具有强名称。
· 程序集必须在 Windows 注册表中注册。
· 类型库定义必须注册并安装到特定的 COM+ 应用程序中。
· 以编程方式添加的服务必须在 COM+ 目录中配置。
动态注册程序集
部署服务组件的应用程序的最简单方式是采用动态注册,它包括将包含一个或多个服务组件的程序集复制到 COM+ 应用程序的目录中。动态注册的程序集不放在全局程序集缓存中。
注意 放在全局程序集缓存中的程序集要求手动注册。
如果创建了服务器应用程序,则在该应用程序可以使用之前,必须用 Windows 安装程序将程序集及其依赖的所有程序集添加到全局程序集缓存 (GAC) 中;否则,该应用程序将生成异常。
手动注册程序集
.NET Framework SDK 提供 .NET 服务安装工具 (Regsvcs.exe),用于手动注册包含服务组件的程序集。Regsvcs.exe 是一个命令行工具。还可以通过创建 RegistrationHelper 类的实例并使用 InstallAssembly 方法,利用 System.EnterpriseServices.RegistrationHelper 类以编程方式访问这些注册功能。
虽然并不是总这样要求,但手动注册程序集对于设计时测试是有帮助的。与动态注册不同,手动过程能提供有关在执行时遇到的错误的反馈。
5. 在.Net环境下创建COM+服务组件
可以参考CodeProject.com网站Giles的这篇文章《Creating COM+ Objects using EnterpriseServices in .Net》,在CodeProject.com上评论不错。
关于.Net环境下创建COM+服务组件的例子,大部分都是演示关于多数据库更新的分布式事务控制。实际上,如果采用SQL Server作为Database Server,不管是跨Database,还是跨SQL Server,都可以通过Stored Procedure中的事务控制,或者是ADO.Net的SqlTransaction对象来实现,只是不推荐这样做而已。
******
上述关于COM+/服务组件介绍部分的大量内容来自MSDN Reference 1。
References:
2, Giles, Creating COM+ Objects using EnterpriseServices in .Net, http://www.codeproject.com/csharp/estransactions.asp
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1793998如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者