gpt4 book ai didi

c# - Windows 服务 - 如何使名称可配置

转载 作者:太空狗 更新时间:2023-10-29 19:26:48 26 4
gpt4 key购买 nike

我用 C# 编写了一个 Windows 服务。一开始的要求是我应该只运行该服务的一个实例,但情况已经改变,现在我需要多个实例。这就是为什么我需要根据配置文件更改服务名称。

用正确的名称注册的最佳方法是什么?我应该写另一个工具来做吗?我可以只从 App.config 文件中读取名称并相应地在服务和安装程序类中设置它吗?

PS> 我真的不明白那个有名字的东西是如何工作的——应该在服务和安装程序类中设置名称,但是当使用 installutil.exe 甚至 powershell new-service 安装时,也应该指定名称。那必须一样吗?或者一个覆盖另一个?

最佳答案

您可以简单地从 app.config 中读取它并在安装程序类中进行设置。
通常,会自动创建一个继承自 Installer 的类。它包含类型为 System.ServiceProcess.ServiceInstaller 的成员,很可能名为 serviceProcessInstaller1。这有一个属性 ServiceName你可以设置。此外,您需要设置 ServiceName ServiceBase 派生类的属性设置为相同的值。
在默认实现中,这些在各自的 InitializeComponent 方法中设置为常量值,但没有理由坚持这一点。它可以毫无问题地动态完成。

关于c# - Windows 服务 - 如何使名称可配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6043663/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com