在.NET中的程序之间进行通信的最佳方式是什么?为什么?

Rid*_*Dev 3 .net api dll web-services communication

我们公司一直在争论我们是否应该使用自定义API DLL或创建Web服务场来让我们的程序在它们之间进行数据通信.对我来说,Web服务在升级的兼容性和灵活性方面最有意义,但我也听说过使用DLL的一些很好的理由.

是否有新兴的.NET应用程序,或者您发现哪种选择效果最好?如果是这样,为什么?

谢谢!

小智 9

我想我会说WCF.原因是多方面的:

  1. 经过测试/可信的代码库.为什么重新创建轮子?
  2. 功能.你可以做任何事情WCF可以做得更好.WCF可以做比你更好的事情.但说真的,您可以使用证书或窗口或任何您想要的方式进行安全消息传递.您可以使绑定基于xml或二进制.您可以使用Addressing使应用程序层冗余.对于WCF,你真的没什么可做的.
  3. 少编码!!! 少钱!!
  4. 支持.网上有很多关于WCF的书籍和知识.

在过去,远程处理是炸弹,因为Web服务无法真正做到安全等等,而不必知道WS-*,这是令人生畏的.现在不适用于WCF.是的,它附带了一个学习曲线,但你正在学习可以转移到任何其他微软商店的东西.

请确保您正确地阅读了WCF的正确方法.例如,将所有消息传递内容分成它自己的单独DLL.


Jos*_*eph 5

DLL或程序集本身不能解决程序之间的通信问题.但是,在过去构建程序集时,我所做的是利用共享内存空间,自定义DLL用于跨应用程序访问共享对象.我已经为具有伴随Outlook加载项的应用程序完成了这项工作并且非常成功.

这种方法的优点是它比使用Web服务路由更快.

但是,我认为这真的归结为你的情况,因为我可以看到在不同情况下使用多个场地.

共享内存/ Web服务/远程处理/ WCF,仅举几例.