我喜欢Blazor WebAssembly的一点是可以在客户端和.Net Core服务器之间共享一个类。让我们举一个有3个prjs:的例子
- Blazor WebAssembly one-客户端
- 一个ASP.Net核心一-我托管API的服务器
- 我定义类的类Prj
Blazor和ASP.Net prjs都引用类Prj。想象一下经典的Blazor演示,我们可以说WeatherForecast是在Class prj中定义的,在ASP.Net prj中有一个API方法,它从DB中检索数据并填充WeatherForecastarray,将其串行化以将其传递给Blazor客户端,后者将其再次反序列化为WeatherForecast array。
我想知道是否有更有效的方法在api和blazor应用程序之间传输数据。
将其序列化为json,然后将其反序列化为WeatherForecast数组,听起来并不是最好的选择。有没有一种方法可以用另一种格式传输数据,也许是一种压缩的二进制文件,它应该比Json更轻、更快地传输?
正如@DavidG所提到的,您可能需要了解gRPC。
此视频在客户端和服务器之间的Blazor中对其进行了很好的介绍:https://www.youtube.com/watch?v=ess1SBBMmhg
从5:30开始。
Blazor WebAssembly(客户端(的gRPC尚未预览(视频显示的未来功能(。但将在Blazor WebAssembly的5月GA发布之后。因此,预计将在.NET 5中正式发布,并在5月后预览。
话虽如此,您仍然可以通过其他方式使其在客户端和服务器之间工作
gRPC需要HTTP/2