COM +仍然被推荐吗?

时间:2008-12-31 00:06:00

标签: .net asp.net com+

我曾经写过几年前在COM +组件中部署业务数据访问层的ASP.Net应用程序。这是我国几个公司基础设施的标准。这仍然是推荐的吗?有什么替代方案?

5 个答案:

答案 0 :(得分:5)

COM +实际上只是MTS(Microsoft Transaction Server)重新加载并与Windows 2000及更高版本捆绑在一起(它是NT4上的可选附件)。如果您使用的是非托管代码,则COM +仍然是事务中间层的首选选项。事实上,它通常用作TPC-C基准系统中的TP监视器,因为它比.Net或Java更有效,并且比Tu​​xedo或Encina(降低$ / TPM)便宜得多。

WCF(Windows Communication Foundation)有自己的事务监视器,这是合理的,因为COM +的体系结构与COM紧密耦合,很难改进.Net运行时。如果您在.Net中编写事务性应用程序,WCF提供此工具,尽管System.Transactions库还为ADO.Net客户端提供分布式事务支持。

答案 1 :(得分:4)

这里有很多关于WCF的讨论,但老实说,我认为这不是你想要的。

在ASP的早期,人们很快就知道将标记页中的所有代码放在一起很难维护。结果,一些人开始使用COM组件实现N层设计。如果您的意图是以典型的N-Tier方式简单地构建DAL,那么没有理由认为简单的类库是不够的。

考虑构建一个类库,将其添加为对您的Web项目的引用,当然还有ADO.NET

答案 2 :(得分:3)

WCF是新建议的对象间通信机制

答案 3 :(得分:0)

过去两天我试图让两个旧的COM +业务对象在新的Windows 2003 Server上运行,我确信我再也不想使用COM +了。

答案 4 :(得分:-3)

来自http://msdn.microsoft.com/en-us/library/ms686988(VS.85).aspx

“COM +是Microsoft®组件对象模型和Microsoft Transaction Server(MTS)发展的下一步.COM +处理您以前必须编写的许多资源管理任务,例如线程分配< / strong>和安全自动通过提供线程池对象,使您的应用更具可扩展性汇集即时对象激活。即使事务跨越网络上的多个数据库,COM +还可以通过提供事务支持来帮助保护数据的完整性。“ p>

虽然看起来像是一种传统的东西,但我不认为微软此时提供的任何单一时尚技术都可以取代COM +。