c# - 如何以编程方式在 Windows 服务应用程序中创建暂停?

标签 c# windows-services delay

我正在创建一个 Windows 服务应用程序,我希望在 .我想知道是否有人知道该怎么做? Windows 服务应用程序使用 odbc 连接和数据读取器连接到 MS Access 数据库和 Oracle 表,因此我可能会处理这些错误,我只想让用户暂停处理错误,如果/当它们发生时。

最佳答案

ServiceController service = new ServiceController(serviceName);

TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutValue);

service.Pause(); //or whatever you want here.
sevice.WaitForStatus(ServiceControllerStatus.Paused, timeout);

...

然后重新启动,做同样的事情除了

 service.Continue();
 sevice.WaitForStatus(ServiceControllerStatus.Running, timeout);

您可以对任何您想要的状态执行此操作。通过谷歌搜索 SeviceController 查看 msdn 文档。这将是返回的第一个结果。

此外,您还需要处理服务中的 OnPause 和 OnContinue 事件。

关于c# - 如何以编程方式在 Windows 服务应用程序中创建暂停?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5903193/

相关文章:

c# - 通过约束搜索字典值? (C#)

delphi - TPipeServer 和 TPipeClient 组件的读/写示例代码和安全检查

c# - 使用 Windows 兼容包创建 .net 核心 Windows 服务

python - 使用Python Select()接收数据的重大延迟

python - 如何使用 Tkinter .after() 方法来延迟循环而不是 time.sleep()?

css - 延迟悬停对 CSS 中背景大小的影响

c# - 创建仅在运行时已知类型的变量 (C#)

c# - 转换 IQueryable 以实现 IAsyncEnumerable

c# - Epplus 使用列名查找列

java - 将邮件包含推送到 Java 程序