gpt4 book ai didi

C#:托管 Windows 服务

转载 作者:行者123 更新时间:2023-12-02 00:16:25 25 4
gpt4 key购买 nike

我已经完成了 Windows 服务的编写。我的服务所做的是调用另一个服务并从该服务中提取一些数据。代码工作正常,因为我在调试时检查了它(使用附加到进程选项来调试服务)。

现在我必须在实际服务器上托管该服务。我可以使用命令 InstallUtil.exe 托管该服务,但我的问题是此 Windows 服务如何在实际服务器上工作?我知道有一个 OnStart() 方法,但它每秒都会被调用吗?我不知道...

我期望的是我的 Windows 服务应该始终调用代码中编写的其他服务,以检查它是否可以从该服务下载数据(如果有)?

我怎样才能实现这个目标?请帮忙!!我错过了什么吗?

最佳答案

OnStart 仅在 Windows 服务启动时调用。

您不应该在这个方法中执行太多操作,因为操作系统希望此调用快速返回(我认为默认值是 30 秒或类似的值)。

您想要在 OnStart 方法中执行的操作是创建一个每 X 秒或每 X 分钟运行一次的计时器来完成实际工作。

另一种选择是在此方法中启动一个新线程(或长时间运行的Task)。这样的线程或Task实际上会有一个循环并完成您需要做的工作。

关于C#:托管 Windows 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35117450/

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