试图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.
如何在Blazor中进行API /网络调用?
Blazor不支持WebClient。您应该改为使用HttpClient。在Blazor客户端,HttpClient由框架提供为服务;因此,您可以将其注入到组件或常规类中。在服务器端Blazor中,缺少此提供,因此您应该自己创建和配置HttpClient。您也可以使用IHttpClientFactory提供HttpClient,这是更好的选择。
注意:不能仅仅因为浏览器(客户端Blazor)是一种相对较旧的技术而在浏览器(客户端Blazor)上使用WebClient,并且没有理由使其适合在浏览器上使用。您可能认为这是有可能的,因为HttpClient可以在浏览器上运行,但是在此处进行澄清可能是个好主意,当您在浏览器上使用HttpClient时,实际上并没有使用实际的HttpClient,它可能使用了websockets等,但是是HttpClient的一种改编形式,该形式在后台使用了JavaScript Fetch API。
希望这可以帮助...
好消息:
转向mono.wasm绑定应启用对WebSockets,HttpClient的支持,而无需在我们这边添加代码,等等。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句