У меня странная ситуация, с которой я сталкиваюсь с моим решением VS.У меня есть два веб-проекта .NET Core, один - MVC Web, а другой - веб-API.
У меня настроено решение для одновременного запуска обоих проектов, чтобы веб-проект (на порту 5002) мог выполнятьвызовы проекта API (на порту 5001).
Метод вызова моего проекта API довольно прост:
public async Task<IEnumerable<Category>> GetCategories()
{
var apiUri = "http://localhost:5001/api/categories";
HttpClient client = new HttpClient();
var requestMessage = new HttpRequestMessage(HttpMethod.Get, apiUri);
var responseMessage = await client.SendAsync(requestMessage); // fails here
...
}
При вызове SendAsync
он зависнет на несколько минути затем в конечном итоге выдает OperationCanceledException
, говоря The operation was canceled
с трассировкой стека
OperationCanceledException: операция была отменена.
System.Net.Http.HttpClient.HandleFinishSendAsyncError (Исключение e,CancellationTokenSource cts)
System.Net.Http.HttpClient.FinishSendAsyncBuffered (Задача sendTask, запрос HttpRequestMessage, CancellationTokenSource cts, bool disposeCts)
Сервисная категория.Службы категории (категория обслуживания)..cs
var responseMessage = await client.SendAsync (requestMessage);
Странно то, что я могу перейти к SwagGer на моем API и конечные точки работают нормально.Кроме того, если я выполняю GET-запрос в Postman с той же конечной точкой API, он работает нормально.
Есть ли что-то, что я здесь делаю неправильно?Я подозреваю, что это может быть проблема с моей локальной установкой Visual Studio для моего проекта - это работало нормально на другом компьютере, но сегодня я перенес это на другой компьютер, и вдруг я не могу звонить в мой проект API.
Я также только что попытался создать пустое консольное приложение для вызова моего проекта API с похожими результатами, на этот раз я получил исключение TaskCanceledException.Но опять же, использование Swagger или Postman с моим проектом API работает просто отлично.