You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET MAUI依赖注入:何时使用AddTransient/AddSingleton?

MAUI里AddTransient和AddSingleton的通俗用法

先明确:这俩都是在MauiProgram.cs里给依赖注入系统注册服务(包括页面)的方法,核心区别就是你注册的对象(页面/工具类)能活多久。

AddSingleton:整个APP一辈子只搞一个实例

  • 不管你在APP里调用多少次这个对象,用的都是同一个“老伙计”
  • 比如全局的用户信息管理器、统一的网络请求客户端,整个APP只需要一份的东西,就用这个
  • 如果给页面注册成Singleton,那不管你导航过去多少次,都是同一个页面实例——之前输入的文字、勾选的选项,回来的时候还在那儿

AddTransient:每次用都搞个新实例

  • 每次你需要这个对象(比如导航到某个页面),系统都会给你造个全新的“新人”
  • 适合那些每次打开都要干净状态的页面,比如登录页、一次性的提交表单页
  • 你猜的完全对:用AddTransient注册的页面,导航离开后原来的实例会被系统清理掉,下次再点进去就是从零开始的新页面,和第一次打开一模一样

简单判断选哪个

  • 要全局共享状态、整个APP只需要一份的,用AddSingleton
  • 每次用都要全新状态、不需要留历史的,用AddTransient

内容的提问来源于stack exchange,提问作者Bob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 00:32:34