我们有一个客户端服务器应用程序。我的应用程序需要更改为通过WCF服务才能工作,以便将数据接收/发送到数据库(安全性要求)。
我还需要在客户端托管的另一个服务,它将客户端连接到服务器端的WCF服务,并使用Https连接。服务器上的WCF服务处于PerSession模式。我与服务器的大部分工作是插入/选择查询。
所以我的设计是:
客户端-> Windows服务-> WCF服务器服务(iis7)->数据库。
Windows服务同时充当客户端和服务器。充当服务器:用于客户端应用程序。充当位于服务器上的WCF服务的客户端。
该应用程序需要支持XP并使用.net 4转发操作系统。
Windows服务仅需要按需连接WCF服务(启动客户端应用程序时)。
我需要决定以哪种方式实现客户端Windows服务。我更喜欢使用带有TCP / IP的WCF托管服务来实现它,但是这样做实在是太过致命了。我应该使用其他IPC实施方式吗?如果是这样的话?
那么,实现此Windows服务的最佳方法是什么?
谢谢
我不完全理解为什么应在客户端使用Windows服务以便与WCF服务进行通信的要点。但是问题不在于建筑模式...
因此,对于进程间通信,我将使用NetNamedPipeBinding。您可以在此处找到有关如何决定使用哪种绑定的更多信息。
使用WCF服务进行进程间通信对我来说一点都不为过。实际上,除了主机初始化过程外,WCF服务是非常轻量级的,我猜这在Windows服务的情况下不应该经常发生。WCF提供了可靠性和可扩展性,以换取这种微小的不便。
[编辑]
我只是重新阅读了您的帖子,并且想澄清一些有关托管的细节。您可以在Windows服务中托管WCF服务,这在此进行了说明,但反之则不行。对不起,如果我误解了你的问题。是的,TCP / IP的进程间通信肯定是矫枉过正,但NetNamedPipeBinding根据使用共享内存此文章,所以它应该是最快的方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句