Для ожидания ответа от сервера и продолжения выполнения метода в C# можно использовать асинхронный подход с применением ключевых слов async
и await
в сочетании с классом HttpClient
.
Первым делом, убедитесь, что у вас есть ссылка на пространство имен System.Net.Http
, чтобы использовать класс HttpClient
.
Далее, определите асинхронный метод, в котором будет выполняться запрос к серверу. Воспользуйтесь ключевым словом await
, чтобы ожидать ответа от сервера.
using System; using System.Net.Http; using System.Threading.Tasks; public class MyClass { public async Task MyMethod() { string url = "https://example.com"; // Укажите URL сервера using (HttpClient client = new HttpClient()) { HttpResponseMessage response = await client.GetAsync(url); // Ожидание ответа от сервера if (response.IsSuccessStatusCode) { // Обработка успешного ответа string content = await response.Content.ReadAsStringAsync(); Console.WriteLine(content); } else { // Обработка ошибки Console.WriteLine("Ошибка: " + response.StatusCode); } } // Продолжение выполнения метода после получения ответа от сервера Console.WriteLine("После запроса"); } }
В приведенном примере используется HttpClient
для отправки асинхронного GET-запроса на сервер, у которого указан URL https://example.com
. Метод GetAsync
ожидает ответ от сервера с помощью ключевого слова await
. Затем проверяется статус ответа: если он успешен, то можно обрабатывать полученный контент, в противном случае обрабатывается ошибка.
Обратите внимание на использование using
для автоматического закрытия HttpClient
. Это важно, чтобы избежать утечек ресурсов.
После получения ответа от сервера, выполнение метода будет продолжено после строчки Console.WriteLine("После запроса");
.
Вы можете вызывать этот асинхронный метод из вашего кода следующим образом:
MyClass myObject = new MyClass(); await myObject.MyMethod(); // Ожидание выполнения метода
В результате выполнения данного кода вы увидите вывод содержимого ответа от сервера (если он был успешным), а затем будет выведено "После запроса".