我有一个稍微复杂的设置,当然,工作在XP正常,但电抗器在Windows 7上这似乎是疯狂的,但它在当时是有道理的!
我有一个WPF应用程序启动,然后启动与外部设备通信的另一应用程序。 启动后,它通过建立一个命名管道(net.pipe)使用WCF新进程(通过新工艺主办)通信。 这似乎任何操作系统上正常工作。
我想提出一些可供外部使用的命令行程序的WPF应用程序的功能,所以我成立了另一个WCF服务,这次是由WPF应用程序托管,并再次通过命名管道暴露它。 同样,这似乎工作。
接下来,我想使通过网络提供的WPF应用程序的功能。 现在,它是WPF应用程序从一个普通用户帐户运行的很重要的,所以我想如果要对Windows 7的这项工作将是创建一个Windows服务,将提供网络服务部分的最佳方式,并把它传达回通过相同的命名管道的命令行工作正常WPF应用程序。 我实现了这一点,它运行良好的XP,但它闷死在Windows 7的问题似乎是试图建立窗口服务和WPF应用程序之间的命名管道连接。
如果我运行WPF应用程序作为管理员,它工作正常。 因此,它似乎是与帐户有关的问题,即服务在运行Windows不能与通过命名管道托管WCF服务普通用户帐户通信。 有没有一种方法,使这项工作? 这似乎在普通用户帐户使用命名管道在同一帐户运行的其他应用程序可以运行传达一个WCF服务,但现在看来,这不能做同样的事情用不同的账户。
奇怪的是,反向似乎工作。 Windows服务呢,其实,也有一个命名管道绑定(它是因为该服务正在运行的所有时间用作激活功能)提供一个服务。 我可以从WPF应用程序连接到这个服务没有任何问题。
我的安全知识是比较有限的。 任何人都可以照到这是怎么回事光?