ServiceName 在 Service-Designers InitializeComponent() 方法中扮演什么角色?

What role does ServiceName play in Service-Designers InitializeComponent() method?

我目前正在开发一项名为 PrintWatcher 的 Windows 服务。此名称也在 serviceInstaller 属性 window 中设置。该服务工作正常,名称正确显示在任务管理器 'Services' 选项卡中。 但是,在 ServiceClass Designer 中,我发现了以下内容:

        /// <summary> 
        /// Required method for Designer support - do not modify 
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            components = new System.ComponentModel.Container();
            this.ServiceName = "Service1";
        }

将“Service1”分配给 this.ServiceName 对服务有什么影响?此名称无处显示,但如上面的摘要中所写,不建议手动修改它。 还应该在哪里设置名称?

像往常一样,windows 服务 class 继承自 ServiceBase Class。

因此,我们需要更多地了解ServiceBase.ServiceName Property

ServiceName 向服务控制管理器标识服务。

上面有一句话link描述了ServiceName的作用

此外,它说 ServiceBase.ServiceName 必须与 ServiceInstaller.ServiceName 相同。(这就是我们不建议您更改服务名称的原因)

最后,大家最好先看看第一个link中的备注,了解更多关于ServiceName属性的信息。