在运行时将数据从一个.NET应用程序传递到另一个.NET应用程序的最佳方法是什么?
基本上我需要在几分钟内将一个10-100千字节的数据从一个应用程序传输到另一个应用程序(本地)并获得此操作的响应。
理想情况下 - 能够在另一个应用中登录事件,以及在另一个应用中调用类方法的能力。
谢谢!
答案 0 :(得分:9)
由于您在.NET中执行此操作,我强烈建议您查看Windows Communication Foundation。
它将负责基础架构(并且有一个好处,即如果您的要求发生变化,您可以轻松地重新配置,不要求两个应用程序是本地的。)
一旦你开始阅读WCF,“传递数据”将非常明显。这篇文章也描述了如何处理callbacks and events in WCF。答案 1 :(得分:4)
过去我会告诉你.NET Remoting,但现在使用WCF会更容易:
http://msdn.microsoft.com/en-us/library/aa730857.aspx#netremotewcf_topic7
答案 2 :(得分:3)
我同意在您的方案中使用WCF,因为没有太多数据要传输。
既然你在谈论IPC,你也可以考虑使用信令和共享内存。我有一个blog post比较WCF和使用共享内存(就速度而言)。通过使用EventWaitHandle
,可以轻松地在同一台机器上的进程之间触发事件,并且代码相当简单。
使用WCF,您需要设置双工服务才能来回获取事件。在我看来,甚至在进程之间进行事件时,更容易设置远程处理。但是如果您需要在机器之间进行处理,请使用WCF。
答案 3 :(得分:0)
WCF是在.NET 3.0中引入的,所以如果你使用它或以后,我强烈推荐它。这很容易设置,他们有一些快速视频,让你上MSDN: http://msdn.microsoft.com/en-us/netframework/first-steps-with-wcf.aspx
它还使您能够设置“端点”,让您自动(一旦配置)允许通过TCP,HTTP,命名管道等进行通信。