如何获取服务的名称以便在 sql 服务器上记录状态

How to get the name of the service it is in order to log status on sql server

我写了一个 windows 服务,它调用一个函数然后连接到 WCF 客户端,以便将数据从计算机发送到 sql 服务器。我如何在代码中获取服务名称以便在 sql 查询中发送它。因此,在一个函数中,我想获取调用该函数的 windows 服务的名称。

Reflection.Assembly.GetEntryAssembly().GetName().Name

这就是我现在所拥有的,我在测试时使用它来获取应用程序名称,但我不确定它是否同样适用于服务。

此代码适用于 windows 服务还是仅适用于 windows 应用程序。由于 sql 中的表依赖性,它无法正常工作,因为服务名称是主键。

我对你的项目设计有点困惑。如果你在windows服务中写的方法和调用WCF服务的函数在同一个项目中,为什么不直接在Window服务中调用WCF服务呢?
另外,通过反射我们可以得到任何项目中对应程序集的名称,但是如果我们想根据名称调用Windows服务中的函数,我们完全可以直接调用服务,只要我们有已知远程服务地址。在这种情况下,我们可以生成客户端代理class来调用服务方法,就像我们在本地项目中调用方法一样。
如果有什么我可以帮忙的,请随时告诉我。