尝试在Blazor项目中使用WebClient
。
出现以下错误:
在blazor.webassembly.js:1
WASM: System.Net.WebException: An exception occurred during a WebClient request.
System.PlatformNotSupportedException: Operation is not supported on this platform.
如何在Blazor中进行API /网络调用?
答案 0 :(得分:1)
Blazor不支持WebClient。您应该改为使用HttpClient。在Blazor客户端,HttpClient由框架提供为服务;因此,您可以将其注入到组件或常规类中。在服务器端Blazor中,缺少此提供,因此您应该自己创建和配置HttpClient。您也可以使用IHttpClientFactory提供HttpClient,这是更可取的。
注意:不能仅仅因为浏览器(客户端Blazor)是相对较旧的技术而在浏览器(客户端Blazor)上使用WebClient,并且没有理由对其进行修改以使其在浏览器上使用。您可能认为这是有可能的,因为HttpClient可以在浏览器上运行,但是在此处进行澄清可能是个好主意,当您在浏览器上使用HttpClient时,实际上并没有使用实际的HttpClient,它可能使用了websockets等。 ,而是HttpClient的一种改编形式,该形式在后台使用了JavaScript Fetch API。
希望这对您有帮助...
好消息:
移至mono.wasm绑定应启用对WebSocket的支持, 没有附加代码的HttpClient等。