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