DCOM有什么问题?

时间:2009-12-04 14:25:35

标签: dcom

似乎对DCOM存在很多敌意,我很想知道为什么。对于仍然使用C ++写入Win32 SKD的公司,有没有真正的理由不在当前或未来的开发中使用DCOM? Windows的某些未来版本是不是会支持它?它太脆弱了,不能经常工作吗?与其他技术相比,实施起来是否过于复杂?这是什么交易?

6 个答案:

答案 0 :(得分:6)

  1. 安全模型。特别是当计算机不在同一个域中(或根本不在域中)时。
  2. 为Visual Basic建模的自动界面(原始版本,不是.NET版本),过时且不能在其他语言中使用。
  3. 如果你只想用C ++开发并在受控网络中部署,那么它仍然是一个不错的选择。

答案 1 :(得分:3)

我不喜欢COM / DCOM,因为"Catastrophic failure"是错误消息历史记录中最无用的错误消息。

答案 2 :(得分:2)

嗯,DCOM是COM的分布式版本,COM本身非常复杂,很容易无意中做错事(参见this recent question及其答案)。使用DCOM,您可以有更多方法来伤害自己。

除此之外它是有效的,并且是一个在分离的进程中托管进程内COM组件的好方法。

答案 3 :(得分:2)

如果您尝试构建客户端服务器应用程序并希望通信跨越网络边界(例如Internet),那么由于防火墙,DCOM可能会出现问题。

我曾经使用DCOM分发了一个非常成功的服务器应用程序,我们让系统通过创建COM +服务器应用程序和导出应用程序代理来处理大部分复杂性。在这种情况下,只要我们的所有版本都已同步,它就能很好地工作。

答案 4 :(得分:1)

我在90年代后期使用DCOM实现了一个大型系统。虽然效果很好,但还有一些问题。对于初学者来说,它使用不可预测的端口号进行通信。它不具有可扩展性,使用WCF比使用DCOM要好得多。

答案 5 :(得分:0)

我认为势头已转向SOAP和其他Web服务技术,因为它是:

  • 在有防火墙的情况下更容易部署系统
  • 没有供应商锁定

我自己从未使用过DCOM,所以我无法评论它的一般质量或健康状况。