在 Blazor WASM 启动时加载初始数据的最佳位置在哪里

Where is the best place to load initial data on Blazor WASM start up

我正在构建一个 Blazor 应用程序,需要在应用程序启动时加载一些初始数据,以便我可以将数据放入 CascadingPerameter 以供其他组件使用。

我想知道调用服务以读取此数据的最佳位置在哪里?

我建议您将服务注入 MainLayout 组件,并在 OnInitialized(Async) 方法中读取数据。但是,如果服务可以在应用程序初始化的那个阶段读取数据,为什么不能将服务注入到需要它的组件中,而不是级联数据?

一般来说,您应该为数据使用服务。服务只是通过依赖注入访问的 class 的一个实例。任何 UI 组件都可以访问该 class 的相同实例。服务类型取决于数据的范围。如果它在应用程序范围内并且在 SPA 会话期间固定,则创建一个作用域或单例服务(取决于您是 运行 WASM 还是服务器)并通过依赖注入共享它。如果它是“页面”范围的,请使用瞬态服务。

思考 UI - 组件、数据 - 服务。

有关服务和 DI 的 MS 文档是 here