如何将消息从一个程序传递到另一个程序?

时间:2009-03-03 18:20:10

标签: .net vb.net .net-3.0

我有一个.Net 3.0应用程序需要将一个整数传递给同一台机器上的另一个程序。我正在使用WCF服务执行此操作,但在尝试在本地机箱上托管服务时遇到了用户权限问题。任何有关如何实现这一目标的想法都将受到高度赞赏。

谢谢,

戴夫

5 个答案:

答案 0 :(得分:4)

WCF仍然是前往这里的方式。

通常,对于同一台机器上的进程间通信,您将使用命名管道通道。如果你没有使用它,我建议你这样做,然后确定托管中的错误是什么。

如果两个程序都有正在处理的消息循环,并且您正在发送一个整数,那么您也可以通过P / Invoke层调用SendMessage,但这只是因为您发送的数据等于或者比SendMessage允许的小。较大的消息需要像WCF这样的东西。

答案 1 :(得分:2)

答案 2 :(得分:0)

.NET Remoting是一种在程序之间传递消息的方法。

答案 3 :(得分:0)

你是怎么主持的?请注意,使用http的非管理员程序需要使用该端口的权限(在http.sys中)。这是通过netsh(Vista)或(IIRC)httpcfg(XP)。

例如,请参阅here

答案 4 :(得分:0)

WCF 是要走的路。您应该使用 NetNamedPipeBinding 来保护同一台机器通信 有关WCFBindings的更多信息https://msdn.microsoft.com/en-us/library/ms730879(v=vs.110).aspx