c# - ServiceName 在 Service-Designers InitializeComponent() 方法中起什么作用?
问题描述
我目前正在开发一个名为 PrintWatcher 的 Windows 服务。此名称也在 serviceInstaller 属性窗口中设置。该服务工作正常,名称正确显示在任务管理器的“服务”选项卡中。但是,在 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服务类继承自ServiceBase
Class。
因此,我们需要更多地了解ServiceBase.ServiceName 属性。
ServiceName 向服务控制管理器标识服务。
上面链接中有一句话描述了ServiceName的作用。
此外,它说ServiceBase.ServiceName
必须与ServiceInstaller.ServiceName
.(这就是我们不建议您更改 ServiceName 的原因)
最后,您最好查看第一个链接中的备注以了解有关 ServiceName 属性的更多信息。
推荐阅读
- python - 如何隐藏 Heroku 托管站点 Django 的 SMTP 主机名和密码
- python - 我在张量流中看不到张量形状
- javascript - 比较两个对象数组并过滤掉不匹配的对象以创建新数组
- spring-boot - 如何在 Gradle/Spring Boot/Kotlin 应用程序中为单元、集成和端到端测试创建不同的文件夹?
- c# - 为什么 .NetCore HttpClient 在我的单元测试中进行第二次重试?
- go - 什么是快路径、慢路径、热路径
- kubernetes - kubernets 端点在循环中出现/消失
- r - 并排显示数据框中两个变量的条形图
- javascript - 用多行解析电子邮件正文
- passwords - 存储用户的 3rd 方应用程序密码的最佳做法是什么?