gpt4 book ai didi

.net - 在 Windows 服务上调用自定义方法

转载 作者:行者123 更新时间:2023-12-04 06:49:08 26 4
gpt4 key购买 nike

如何在 Windows 服务上调用自定义方法:

public class TestService:ServiceBase
{
public TestService()
{
// constructor
}

protected override void OnStart(string[] args)
{
// do some work here
}

protected override void OnStop()
{
// do some work here
}

public void TestMethod(int arg)
{
// do some work here
}
}

我知道该服务的名称是“TestService”,所以我可以执行以下操作:
ServiceController sc = new ServiceController("TestService");

但是,如果我执行以下操作,它将不起作用
sc.TestMethod(5);       // cannot do this

如何访问服务上的方法?我正在使用 C#

谢谢。

最佳答案

您可以通过实现 ServiceBase.OnCustomCommand 来处理 Windows 服务的自定义命令。 , 并调用 ServiceController.ExecuteCommand 发送.

但是,这种“命令”只是一个介于 128 和 256 之间的命令标识符。没有参数或返回值。

在大多数情况下,这还不够,您必须按照其他人的建议在 Windows 服务中托管 WCF 服务。

关于.net - 在 Windows 服务上调用自定义方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3374849/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com