C#中windows服务内部的Winform-可能

本文关键字:Winform- 可能 内部 服务 windows | 更新日期: 2023-09-27 18:25:40

我正在编写一个windows服务,用于每天处理电子邮件。此服务包括一个App.Config文件,该文件具有多个参数,以便服务相应地工作。

每次,管理员用户都必须使用文本编辑器更改/添加/删除节内的对。

我计划包括一个windows表单来加载该部分的所有配对,并考虑通过该表单进行任何修改。

我想知道的是,是否可以在windows服务中设置winform,并在需要更改配置时打开它?我知道我们可以有一个单独的windows应用程序,并加载windows服务的App.Config文件。我只是想避免有一个单独的应用程序。

如果你做过类似的事情,请分享你的想法!

谨致问候,Sriram

C#中windows服务内部的Winform-可能

这听起来像是一个安全问题。

Windows服务在不同的上下文和帐户中运行,除非在安装该服务时特别允许,否则无法与桌面交互。当然,这还不够,所以你还必须让服务在运行桌面的同一个帐户下运行——这本身就是一个非常糟糕的设计,我不建议这样做。

您也可以让服务可执行文件决定在启动期间要做什么,一种常见的模式是在调试时将其作为控制台应用程序生成,以简化开发。但是,您必须停止服务并以交互方式手动启动可执行的服务,才能获得UI行为。

无论如何,一个单独的配置工具是可行的。