2010-02-07 108 views
5

.net中的com +选项是什么?是.net远程或WCF或其他。com +在.net中的替代方案?


两个问题的答案是正确的,有替代品,甚至我认为,我们可以使用远程处理和互联网服务,实现COM +的功能。或者甚至可以使用com +的wrapper。但是我说的是有什么东西可以隐藏com +,就像在java中,我们有EJB作为com +的替代品,在.net和com +中有什么相似之处?

+0

请您确切地告诉我们您关心的COM +的功能。 – 2010-02-07 14:51:56

回答

0

如果您需要.NET中的COM +服务,Enterprise ServicesSystem.EnterpriseServices namespace中的类型为托管代码提供了广泛的COM +支持。

A(非常)简要总结:

  • 创建从ServicedComponent
  • 继承的新类所需的属性,如ApplicationActivation,交易等装饰它
  • 签署强名称
  • 构建程序集
  • 使用regsvcs向COM +注册程序集。
+0

这两个答案都是正确的,即使我认为我们可以使用远程和web服务来实现com +的功能,也有其他选择。或者甚至可以使用com +的wrapper。但是我说的是有什么东西可以隐藏com +,就像在java中,我们有EJB作为com +的替代品,在.net和com +中有什么相似之处? – user268051 2010-02-08 04:19:36

+0

COM +(据我所知)仍然是微软首选的组件服务器技术。它尚未被弃用。您不能使用远程处理和Web服务来实现由COM +提供的对象池,分布式事务,应用程序服务器场和安全功能。重写COM +的.NET版本将是一项很大的工作,并且不会为成熟的COM +提供任何明显的优势。如果您想在.NET中使用COM +样式服务,请使用EnterpriseServices。 – Ash 2010-02-08 05:13:27

3

这取决于您在COM +替代品中寻找什么。正如Ash所述,Enterprise Services允许您使用.NET创建COM +组件。但对于一般的远程通信,请使用WCF。特别是,二进制绑定(netTcpBinding,netMsmqBinding等)为企业内部通信提供了高性能通道。

+0

WCF不是.NET中的COM +选项。 COM +远不仅仅是DCOM,例如。分布式事务,对象池,安全等。 – Ash 2010-02-08 05:06:04

+0

@Ash:请阅读我写的内容。 “这取决于你在COM +替代品中寻找什么”。我知道COM +中的内容。了解OP的哪些部分要取代OP很重要。 – 2010-02-08 05:27:41

+0

@John,根据我的经验,几乎没有使用COM +的现有应用程序可以成功地删除COM +部分并仅使用WCF替换它。绝大多数将需要EnterpriseServices。我确信*你明白这一点,但这是我从许多其他开发人员那里听到的误解。 – Ash 2010-02-08 07:20:10