当前位置:  开发笔记 > 编程语言 > 正文

具有Windows窗体的Windows服务在同一进程中

如何解决《具有Windows窗体的Windows服务在同一进程中》经验,为你挑选了1个好方法。

我有一个ac#应用程序,作为控制套接字连接和其他东西的Windows服务运行.此外,还有另一个Windows窗体应用程序来控制和配置此服务(带有配置参数的start,stop,show form的系统托盘).

我正在使用.net远程处理IPC,这很好,但现在我想显示一些真实的流量和其他报告,远程处理将无法满足我的性能要求.所以我想将两个应用程序合二为一.

这是问题所在:

当我从Windows服务启动表单时,没有任何反应.谷歌搜索我发现我必须右键单击该服务,转到登录并选中"允许服务与桌面交互"选项.由于我不想让我的用户这样做,我在安装期间再次在用户的regedit中设置了一些代码谷歌搜索.问题是即使设置此选项,它也不起作用.我必须打开服务的登录选项(已选中),取消选中并再次检查.

那么,如何解决呢?在同一进程中使用systray控件的Windows服务的最佳方法是什么,可供登录的任何用户使用?

更新:感谢您的评论到目前为止,伙计们.我同意使用IPC更好,我知道混合Windows服务和用户界面是不好的.即便如此,我想知道如何做到这一点.



1> Greg Hurlman..:

两个独立的流程,使用您选择的技术进行通信.使用UI的服务是个坏主意.不要走这条路 - 你会后悔的.

通过简单的套接字连接进行服务通信,我获得了非常好的结果 - 很好地记录您的服务协议,尽可能保持简单,并且比您想象的要容易.

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有