前几个文章总结了COM的应用情况,涉及COM的应用不能不提到COM+。
COM+不再局限于COM的组件技术,它更加注重于分布式网络应用的设计和实现.COM+进一步把COM、DCOM和MTS统一起来,形成真正适合于企业应用的组件技术。
具体的应用包括事务、对象池、队列、事件、安全设置等等。
http://www.codeproject.com/KB/COM/#COM%2b
这个地址涉及了COM/COM+相当多的实用内容
以前有个项目要用到进程池的处理,通过使用COM+ Object Pool的处理,极大地简化了相关的处理,否则自己处理进程的生命期和池处理也涉及很多的麻烦事。
由于现在分布式应用技术发展的很快,目前涉及的这样的应用较少,新的开发使用这个技术的很少,估计一般的也就是已有的组件部署和管理的开发。
总结一下具体的部署方法,可以使用 vbs文件部署,最方便的一种方式。直接使用C++/C#操作COM接口也可以。
参考:
http://www.carlosag.net/Articles/configureComPlus.aspx
Dim catalog As COMAdmin.COMAdminCatalog Dim applications As COMAdmin.COMAdminCatalogCollection Dim application As COMAdmin.COMAdminCatalogObject Set catalog = New COMAdmin.COMAdminCatalog Set applications = catalog.GetCollection("Applications") Call applications.Populate Set application = applications.Add() ' ID is an arbitrary GUID, that you can create using uuidgen application.Value("ID") = "{da2d72e3-f402-4f98-a415-66d21dafc0a9}" application.Value("Name") = "SampleApp" application.Value("Activation") = COMAdmin.COMAdminActivationOptions.COMAdminActivationLocal application.Value("ApplicationAccessChecksEnabled") = COMAdmin.COMAdminAccessChecksLevelOptions.COMAdminAccessChecksApplicationComponentLevel application.Value("Description") = "Sample Application" application.Value("Identity") = "YourMachine\administrator" application.Value("Password") = "YourPassword" application.Value("RunForever") = True Call applications.SaveChanges Set application = Nothing Set applications = Nothing Set catalog = Nothing