关于WCF服务寄宿到windows 服务中,服务端winform监控程序获取服务信息的有关问题

关于WCF服务寄宿到windows 服务中,服务端winform监控程序获取服务信息的有关问题

关于WCF服务寄宿到windows 服务中,服务端winform监控程序获取服务信息的问题
我安装了一个wondows服务,在服务里面启动了wcf服务。
这样做是为了实现在服务器上注销登录后WCF服务也不会停止。同时每次进入系统有个winform程序来操作wcf的配置、检测当前在线的客户端并向客户端发送消息。并把winform程序设为开机启动,这样每次用户登录系统就能显示出winfrom界面,并能监控服务。那么问题来了!
我想winform程序直接操作WCF服务该怎么做?

关于WCF服务寄宿到windows 服务中,服务端winform监控程序获取服务信息的有关问题
这是代码结构。


我知道可以wcf开个管理服务来给winform调用这样可以实现,但是我想知道有没有更好的方法!
------解决思路----------------------
其实就是进程间通信
你服务进程和winform进程是两个独立的进程
你想通过winform去获取/操作服务的运行状态,就需要两个进程之间通信

可以用windows消息,可以用TCP通信,可以通过数据库,可以写文件读文件
------解决思路----------------------
正常的实现方式是就是这样的,通过WCF服务跟Windows服务通信,可以采用NetNamedPipeBinding绑定来实现。如果不这样的话,可以在Windows服务中开个线程检测用户是否登录,未登录时窗体不开,登录之后弹出窗体(不是弹出winform可执行文件),这样就可以通过委托或者事件实现反控WCF的配置。(Windows打开窗体有个潜在的问题就是session0,关于session0可参考)。仅供参考,我自己做的话也会选择前者的,简单,后者业余也可尝试尝试。
------解决思路----------------------
1.如果是简单的.可以通过 SHARED/STATIC 共享变量来实现.
2.自引用.在另一DLL里先引用该服务.然后WINFORM再调用该DLL.与WCF通信.