我正在尝试在 .NET 8 中的新 Blazor Web 应用程序和独立的 Blazor WASM 选项之间做出决定。我不太清楚如何以新的统一方法获取数据。
Blazor Web Apps 是否始终通过 API 端点调用 API 端点HttpClient
,或者是否有类似于 MVC 方法的直接获取数据的方法?
据我所知,新的 Web 应用程序模型的主要优点之一是快速渲染页面/组件,因为它提供了灵活的选项,例如服务器渲染、流式传输等。这意味着有一个运行 .NET 的服务器。如果是这种情况,无需序列化/反序列化即可获取数据将是一个好处,或者它始终是对 API 端点的调用,然后反序列化数据。只是想知道统一的 Blazor 方法是如何处理这个问题的。
是的,你有两个选择。
在这两种模式下使用 API 方法是最简单的。
如果您想实现服务器端选项,您需要设计数据管道来实现此目的。基本上使用基于接口的数据代理,该数据代理针对不同的端点有不同的实现。
关于如何做到这一点的描述超出了 SO 答案的范围,但是我在这里 [在 Net8 的早期] 写了一篇关于这个主题的文档 - https://github.com/ShaunCurtis/Blazor.ExploreRendering/blob /master/Documents/An-Interactive-Data-Pipeline.md。