c# - 服务. Controller 状态/轮询

标签 c# windows visual-studio winapi

我在使用一个管理应用程序时遇到问题。我正在构建一个界面,用于在 40 台左右的服务器上停止、启动和查询各种服务。

我正在查看 service.controller 并且已经成功地通过按钮事件停止和启动各种服务,但现在我正在尝试找出一种方法将服务状态返回到文本框并查询服务状态大约 10 秒钟,我感觉就像撞到了一堵砖墙。

有没有人有任何提示或见解?

谢谢!!

最佳答案

您可以使用 Timer 对象触发定期服务检查。您可以对 Elapsed 事件运行服务查询。

    private void t_Elapsed(object sender, ElapsedEventArgs e)
    {
        // Check service statuses
    }

至于在文本框中显示状态,您应该能够对服务状态使用 ToString() 方法并将其显示在常规文本框中。请记住,在对计时器事件使用react时,您可能在也可能不在 GUI 线程上,因此您需要在主线程上调用自己。

    private delegate void TextUpdateHandler(string updatedText);

    private void UpdateServerStatuses(string statuses)
    {
        if (this.InvokeRequired)
        {
            TextUpdateHandler update = new TextUpdateHandler(this.UpdateServerStatuses);
            this.BeginInvoke(update, statuses);
        }
        else
        {
            // load textbox here
        }
    }

关于c# - 服务. Controller 状态/轮询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/290778/

相关文章:

c# - WCF 服务自主机 url 未获取 wsdl 文档

c# - App.Config文件中appSettings中LockItem属性的作用是什么?

windows - 改变目录停止 %~dp0 工作

visual-studio - XAML 文件 .editorconfig 规则

asp.net - Ajax ConfirmButtonExtender 在 OnClientClick javascript 代码之前触发

c# - 尝试后终于没有被调用

c# - 逻辑删除时恢复应用程序状态的默认页面

html - 无法使用for循环从Windows批处理脚本编写html

python - 如何使用 Python 在 Windows 应用程序中获取右键单击上下文菜单?

C# 单元测试资源