如何在运行时获取我的Windows服务的名称?

3

我正在使用C# 4.0制作一个新的Windows服务。

我试图插入一些我以前编写的事件日志记录代码,该代码位于一个单独的类中。

我希望将事件源设置为Windows服务的名称,而无需下次再将其放入服务时更改代码。

我正在寻找类似于以下内容的解决方案:

String source = Application.Name

但是我似乎无法在任何地方找到我想要的东西。有人愿意接受吗?

你面临的一个问题是单个进程可以托管多个服务。在这种情况下,你如何确定需要查找哪个服务的名称? - Roger Lipscombe
2个回答

4
如果代码在服务应用程序中,您可以执行以下操作:
String source = this.ServiceName;

1

你将无法调用静态属性。 除非你编写自己的静态包装器来获取你的ServiceBase派生类的ServiceName属性的值。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接