WebClient не поддерживается - PullRequest
0 голосов
/ 24 мая 2019

Попытка использовать WebClient в проекте Blazor.

Получение следующей ошибки:

В blazor.webassembly.js:1

WASM: System.Net.WebException: An exception occurred during a WebClient request.
System.PlatformNotSupportedException: Operation is not supported on this platform.

Как создать API/ Сетевой звонок в Блазоре?

1 Ответ

2 голосов
/ 24 мая 2019

WebClient не поддерживается в Blazor.Вместо этого вы должны использовать HttpClient.В клиентской части Blazor HttpClient предоставляется платформой как сервис;таким образом, вы можете добавить его в свои компоненты или обычные классы.В серверной части Blazor это предложение отсутствует, и вам следует самостоятельно создать и настроить HttpClient.Вы также можете использовать IHttpClientFactory для предоставления HttpClient, что является предпочтительным.

Примечание: WebClient нельзя использовать в браузере (Blazor на стороне клиента) просто потому, что это относительно старая технология, и нет причин для ее адаптациииспользовать в браузере.Вы, вероятно, полагали, что это возможно, потому что HttpClient может работать в браузере, но было бы неплохо пояснить, что когда вы используете HttpClient в браузере, вы на самом деле не используете реальный HttpClient, который может использовать веб-сокеты и т. Д., но форма адаптации HttpClient, которая за кулисами использует JavaScript Fetch API.

Надеюсь, это поможет ...

Хорошие новости:

Переход кпривязки mono.wasm должны включать поддержку WebSockets, HttpClient без кода добавления на нашей стороне и т. д.

Источник: https://github.com/aspnet/AspNetCore/issues/10489

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