题
我有一个.Net 3.0应用程序需要将一个整数传递给同一台机器上的另一个程序。我正在使用WCF服务执行此操作,但在尝试在本地机箱上托管服务时遇到了用户权限问题。任何有关如何实现这一目标的想法都将受到高度赞赏。
谢谢,
戴夫
解决方案
WCF仍然是前往这里的方式。
通常,对于同一台机器上的进程间通信,您将使用命名管道通道。如果你没有使用它,我建议你这样做,然后确定托管中的错误是什么。
如果两个程序都有正在处理的消息循环,并且您正在发送一个整数,那么您也可以通过P / Invoke层调用SendMessage,但这只是因为您发送的数据等于或者比SendMessage允许的小。较大的消息需要像WCF这样的东西。
其他提示
.NET Remoting 是一种方式在程序之间传递消息。
你是怎么主持的?请注意,使用http的非管理员程序需要使用该端口的权限(在http.sys中)。这是通过netsh(Vista)或(IIRC)httpcfg(XP)。
例如,请参见此处。
WCF 是要走的路。您应该使用 NetNamedPipeBinding 来保护相同的计算机通信。
有关WCFBindings的更多信息,请访问 https://msdn.microsoft.com /en-us/library/ms730879(v=vs.110).aspx
不隶属于 StackOverflow