Вызов GetAsync в Blazor WebAssembly завершается с ошибкойC#

Место общения программистов C#
Ответить
Anonymous
 Вызов GetAsync в Blazor WebAssembly завершается с ошибкой

Сообщение Anonymous »

Я считаю, что здесь происходит что-то, чего я не понимаю в Blazor, возникшем в результате разработки форм Windows. Я пытаюсь получить данные из API, который, как я знаю, работает правильно и правильно доставляет данные в другое приложение. Мне кажется, что код завершается до завершения асинхронного вызова.
Он аварийно завершился на строке httpClient.GetAsync. В целях тестирования этот вызов выполняется, когда страница загружается с помощью функции OnInitializedAsync.
Я следовал двум разным руководствам, но оба дают один и тот же результат в случае сбоя вызова .getasync: https:// code-maze.com/blazor-webassembly-httpclient/ и
Пожалуйста, помогите.
Спасибо!
КЛАСС
public class RecipeService : IRecipeService
{
private readonly HttpClient httpClient;

private string baseURL = clConstants.SERVER_PATH;
private string apiEndPoint = "getRecipeByID/";

public RecipeService(HttpClient httpClient)
{
this.httpClient = httpClient;
}

async Task IRecipeService.getRecipeByID(int id)
{
ConfigureHTTPClient();

string URL = clConstants.SERVER_PATH + apiEndPoint + id.ToString();

var res = httpClient.GetAsync(URL).Result; //CRASHES ON THIS LINE!

ИНТЕРФЕЙС
public interface IRecipeService
{
//Task getRecipeByID(int id);
Task getRecipeByID(int id);
}

Функции на странице бритвы
protected override async Task OnInitializedAsync()
{
recipe = await RecipeService.getRecipeByID(currentCount);

}

Program.cs (добавлена ​​следующая строка)
builder.Services.AddScoped();


Подробнее здесь: https://stackoverflow.com/questions/793 ... mbly-fails
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»