【发布时间】:2021-05-06 15:06:58
【问题描述】:
上下文
我有一个作为 Windows 服务运行的 .NET Core 3.1 控制台应用程序。 它的设置使用:
Host.CreateDefaultBuilder(args)
.UseWindowsService()
并使用 sc.exe create 作为 Windows 服务安装。
问题
有些用户想在同一台机器上安装同一个控制台应用程序的多个版本,这很好用! 但是,在事件查看器中查看日志时,您无法分辨每条记录属于哪个 Windows 服务,因为它们都具有相同的源名称。
是否有在安装时设置源名称的标准方法?
研究
-
The documentation 表示
UseWindowsService会将“应用程序名称”设置为默认源名称。总是同一个名字。 - This issue 好像表示没有办法通过配置来实现。
- 下面的代码允许我手动设置它,但我想遵循 行业标准(如果存在):
// Inside .ConfigureServices((hostContext, services) =>
services.Configure<EventLogSettings>(settings =>
{
settings.SourceName = "My chosen name";
});
【问题讨论】:
标签: c# windows-services .net-core-3.1