Blazor WebAssembly:页面刷新(不新开标签)时Scoped与Singleton服务会丢失吗?
Blazor WebAssembly 刷新页面时 Scoped 与 Singleton 服务的行为
Singleton 服务:在Blazor WebAssembly里,Singleton实例的“全局唯一”是针对单个标签页的进程而言的。当你刷新页面,整个Blazor应用会被彻底重新初始化——浏览器会重新加载所有应用资源,依赖注入容器也会重建。原来的Singleton实例会被销毁,新的实例会被创建,相当于完全重置,和首次打开页面时的状态一模一样。
Scoped 服务:Scoped服务的生命周期和当前应用的会话(也就是单个标签页的一次加载周期)绑定。刷新页面时,整个应用的作用域会被重建,旧的Scoped实例会被回收,新的实例会被注入到组件中。所以刷新后Scoped服务的状态也会完全重置,回到初始创建的状态。
内容的提问来源于stack exchange,提问作者mz1378
相关产品推荐
相关产品推荐

