首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用WCF替换COM+?

用WCF替换COM+?
EN

Stack Overflow用户
提问于 2014-04-24 21:07:31
回答 1查看 1.1K关注 0票数 2

有没有人用WCF取代了COM+?

性能有提高吗?

其他的优势是什么?

EN

回答 1

Stack Overflow用户

发布于 2014-04-24 21:19:40

我使用COM+ (加上COM和DCOM)和WCF都有好几年了。这包括使用这两种技术构建大型航空公司预订系统。

WCF和COM+真的是两个不同的野兽。COM+实际上是为COM的全盛时期而构建的。因此,它在任何与COM配合得很好的环境(如VB6)中都很容易使用。在这些环境中,开发的简易性和性能是无与伦比的。COM+还为您提供了大量的“赠品”,例如事务。我们使用它很多年了,并且对它非常满意。性能也非常好。

COM+也可以在dotNET中使用,但我从来不觉得它是一等公民。我总觉得微软在dotNET中支持COM+,因为他们也这么做了。它总是让我觉得有点笨拙。

WCF是一种dotNET野兽。我看到的WCF的最大优势是灵活性。您几乎可以插入或构建您可能需要的任何通信协议。想要易于使用,请使用HTTP。希望对象尽可能紧凑和高性能,使用TCP和二进制序列化等。它在dotNET世界中运行得很好。WCF也有很多“开箱即用”的特性,比如事务、队列、安全通道、负载平衡等等。但您必须对其进行配置,以便通过非常复杂和隐秘的配置文件来使用这些功能。在COM+中,这些只是组件服务中的复选框。

关于性能。我总是发现,如果你遵循所有的规则(当调用完成时调用SetComplete,不维护状态等),COM+会非常快。WCF也可以非常快,但您必须确保正确配置它。WCF允许您配置所有内容。这真的很棒,但它也让你很容易把事情搞得一团糟。你在WCF中得到的最大好处可能是你的对象序列化(至少在我的经验中是这样)。

正如我所说,WCF是超级灵活的。您可以通过防火墙和跨web或私有WAN使用它,没有太多困难。试着用COM+做到这一点(祝你好运,我已经做到了,这并不容易)。我们使用WCF在机场之间通过私有通信网络建立通信,这些通信网络都由不同各方拥有的不同防火墙保护。

真的,如果你想在没有痛苦的情况下享受一些WCF的好处,看看WebAPI (http://www.asp.net/web-api)。他们首先将其构建在WCF之上,以此作为一种轻松快速地启动和运行WCF的方法。但我认为它不再与WCF捆绑在一起了。也就是说,它并没有提供WCF的所有功能,如果您需要这些高级功能,您将无法使用WebAPI。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23269852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档