繁体   English   中英

通过GUI访问Windows服务的最佳方式

[英]best way to access a windows service via GUI

我很好奇C#gui访问Windows服务功能的最佳方式,无论是WCF还是ServiceController或其他一些选项。

我将解释我正在做什么:在规定的时间间隔内,服务将从位置A压缩一小时的数据文件并将压缩文件发送到位置B,这将在后台全天候完成或直到服务由用户停止并且即使没有人登录也会运行(因此需要服务)我希望用户能够启动GUI程序,这将允许他们有多个选项:

1)将位置更改为zip
2)将位置更改为zip
3)手动启动指定日期时间范围的压缩过程

现在,用于压缩和计时器的大多数功能都存储在服务中。 我想知道GUI程序中的ServiceController是否允许我向/从服务发送变量(即文件夹路径名称作为字符串,各种其他数据),或者我是否需要花时间制作WCF并将GUI视为客户端和Windows服务作为源。

应该注意的是,GUI可能会从服务中接收数据,但仅表示它是否正在忙于压缩。

一种选择是在Windows服务上嵌入WCF服务。 使用此WCF,您可以在不重新启动服务的情况下控制行为。

但IMO的最佳选择是在配置文件中使用它。 您可以添加一些密钥,但在更新配置时必须重新启动服务。 在这种情况下,您可以尝试一种解决方法,就像在此线程中一样 配置是这种细节的好地方,因为它可以很容易地修改,并且与数据库不同,它总是可用的。

我不完全理解你想说的是什么,但你定义了服务的界面是什么。 如果您定义的操作包含变量,那么您可以将数据从应用程序传递到服务。

根据您的描述,只需在服务中进行操作即可完成您列出的3项内容,然后通过UI代码中的按钮单击调用这些内容。

WCF对此很好,这是对它的基本介绍http://msdn.microsoft.com/en-us/library/bb332338.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM