关于.NET Blazor中,Singleton,Transient,Scoped Dependencies依赖对象的生命周期

當前文章的短網址連結為: https://unos.top/1f6s

瞬态(Transient)生命周期很简单。瞬态生命周期意味着每次都会获得一个新实例。这对于Blazor WASM和Blazor Server都是相同的。

单例(Singleton)生命周期意味着在Blazor WASM中,整个应用程序运行期间只会获得一个实例。如果确实需要在所有用户和标签页之间共享实例,需要将其放在服务器上,并通过调用服务器来访问。但在Blazor Server中,所有人使用的是同一个实例。请确保不要在单例中存放任何用户信息,因为这会导致信息泄露给其他用户(非常糟糕!)。

作用域(Scoped)生命周期在Blazor WASM中与单例(Singleton)生命周期相同。但在Blazor Server中需要格外小心。Blazor Server在浏览器和服务器之间使用SignalR连接(称为电路),作用域实例与电路相关联。如果需要对特定组件实现作用域行为,可以从OwningComponentBase类派生。

0 0 投票数
文章评分
订阅评论
提醒
guest

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理

0 评论
最旧
最新 最多投票
内联反馈
查看所有评论