Круговой индикатор выполнения не перемещается, и окно сообщения не отображается в моем скрипте c# - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть сервер NodeMCU, на который я отправляю HTTP-запросы из моего c# сценария для включения / выключения светодиодов и т. Д. c. Я собираюсь проверить, подключен ли сервер NodeMCU к точке доступа или нет.

При отправке HTTP-запроса на http://192.168.43.90/LED=ON, если сервер выключен или нет После подключения к точке доступа исключение (System.AggregateException) генерируется оператором http.wait () (в методе IsServerConnectedToAP ()), затем в его блоке перехвата я возвращаю «false». Если я не получаю никакого исключения затем я возвращаю 'true' и увеличиваю индикатор выполнения до 50%, а когда возвращается FALSE, я отображаю окно сообщения. Окно сообщения должно продолжать отображаться до тех пор, пока сервер NodeMCU не подключится к точке доступа.

Когда я отправляю HTTP-запрос на http://192.168.43.90/LED=ON, индикатор NodeMCU включается, но индикатор выполнения не продвигается, и если я делаю запрос на разрыв, отключив его от точки доступа, окно сообщения также не появляется. Прикрепив мой код ниже

'' '

пространство имен Diagnostic_GUI {

publi c частичный класс Form6: Form

{

    public Form6()
    {
        InitializeComponent();
    }

     private void Form6_Load(object sender, EventArgs e)
    {
        circularProgressBar1.Value =0;
    }

     private void button1_Click(object sender, EventArgs e)
    {

        if (p.IsServerConnectedToAP())
        {
            Console.WriteLine("true");
                circularProgressBar1.Value += 50; 
        }
        else
        {
            do
            {
                DialogResult press = MessageBox.Show("Server is either powered OFF/not connected to the Access Point", "Note", MessageBoxButtons.OK);

            } while (!p.IsServerConnectedToAP());

            circularProgressBar1.Value += 50;
         }
     }

}}

'' '

пространство имен Diagnostic_GUI {

publi c частичный класс inialization_checks {

  public bool IsServerConnectedToAP()
  {

        //1.send http request to the root(/)
        var http = Send_HTTP_Req_NodeMCU_Server("http://192.168.43.90/LED=ON");

        try
        {
             http.Wait();


        }
        catch (System.AggregateException)
        { return false; }

        return true;
   }

    static async Task Send_HTTP_Req_NodeMCU_Server(string URI)
    {
        using (var client = new HttpClient())
        { 
            var result = await client.GetAsync(URI);

        }
    }

}

}

'' '

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...