Жду ответа сервера PostAsJsonAsync - PullRequest
1 голос
/ 07 марта 2019

Итак, у меня есть этот код, и я хочу заморозить форму, пока сервер не ответил.

var response = await client.PostAsJsonAsync(url, _savedClient);

Что мне делать?

        try
        {
            frmMainForm._idErro = 1;
            using (var client = ReturnHTTP.HTTP())
            {
                frmMainForm._idErro = 11;
                var response = await client.PostAsJsonAsync(url, _savedClient);
                //MessageBox.Show();
                if (response.IsSuccessStatusCode)
                {
                    notifyIcon.ShowBalloonTip(1000, "Informação", "Cliente atualizado com sucesso", ToolTipIcon.Info);
                    notifyIcon.Visible = true;
                    frmMainForm._idErro = 3;
                    frmMainForm._tableContract.Clear();
                    List<Client> client_status = await response.Content.ReadAsAsync<List<Client>>();
                    frmMainForm._tableContract = ConvertDataTable.ToDataTable(client_status);
                    DialogResult = DialogResult.OK;

                    DadosParaEmail();

                    _gravou = true;
                    Close();
                }
                else
                {
                    var result = await response.Content.ReadAsStringAsync();
                    string a = System.Reflection.MethodBase.GetCurrentMethod().Name;
                    Error.saveErro(a, result);
                }
            }
        }
        catch (Exception ex)
        {
            string a = System.Reflection.MethodBase.GetCurrentMethod().Name;
            string exc = ex.Message;
            Error.saveErro(a, exc);
        }

1 Ответ

1 голос
/ 07 марта 2019

Если вы хотите заблокировать текущий поток во время ожидания ответа, вы можете попробовать следующее:

var response = client.PostAsJsonAsync(url, _savedClient).Result;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...