如何将wcf服务与windows服务进行通信?

如何将wcf服务与windows服务进行通信?,wcf,windows-services,ipc,Wcf,Windows Services,Ipc,两周前,我需要一种方法来将wcf服务与在同一台计算机上运行的windows服务进行通信。windows服务必须从外部源获取数据,并与wcf服务(托管在IIS中)共享数据。当客户端发出请求时,wcf服务必须提供数据。我选择了ipc 我完成了,现在windows服务是ipc服务器,wcf服务是ipc客户端。这进行得很顺利,但我认为我犯了一个错误,因为要使其正常运行,必须使用ASPNET帐户执行windows服务,为此必须分配ASPNET密码帐户,并且当我这样做时,IIS无法正常工作 我在考虑不同的替

两周前,我需要一种方法来将wcf服务与在同一台计算机上运行的windows服务进行通信。windows服务必须从外部源获取数据,并与wcf服务(托管在IIS中)共享数据。当客户端发出请求时,wcf服务必须提供数据。我选择了ipc

我完成了,现在windows服务是ipc服务器,wcf服务是ipc客户端。这进行得很顺利,但我认为我犯了一个错误,因为要使其正常运行,必须使用ASPNET帐户执行windows服务,为此必须分配ASPNET密码帐户,并且当我这样做时,IIS无法正常工作

我在考虑不同的替代方案,但在所有这些方案中,问题依然存在。一些想法


编辑:
我需要的是一个系统,在IIS托管的web服务中公开从另一个旧系统通过telnet获取的数据,这有点不稳定。第二个系统的响应速度有多慢我选择在web服务和旧系统之间放置一个进程(windows服务)。windows服务必须保存从旧系统收集的数据,当wcf服务要求它通过ipc一次性提供所有数据时。

为什么不创建另一个帐户,该帐户具有与wcf服务和其他服务运行时所使用的ASPNET用户相同的权限集?这样,您就可以控制密码。

为什么windows服务需要以ASPNET用户的身份运行?这是因为您使用的IPC连接需要来自调用方的身份验证吗


另一种选择(如果您可以控制windows服务代码)是将该服务也设置为WCF服务(使用windows服务中的ServiceHost)。如果需要类似IPC的性能,IIS服务可以使用NetTcp或NetNamedPipe绑定连接到windows服务。

理想情况下,windows服务应该作为WCF服务运行,这样客户端就可以轻松地与其通信


下一个问题是“客户机”是否需要是WCF服务。如果该客户机需要为其他应用程序提供服务,那么它是合适的,否则可能没有必要。我对你们的系统了解不够,所以由你们来决定什么是最好的

现在一切都很顺利。。。谢谢大家!!