首頁 >後端開發 >C#.Net教程 >什麼是 AddSingleton、AddScoped 和 Add Transient C# Asp.net Core?

什麼是 AddSingleton、AddScoped 和 Add Transient C# Asp.net Core?

WBOY
WBOY轉載
2023-09-05 22:21:171629瀏覽

什么是 AddSingleton、AddScoped 和 Add Transient C# Asp.net Core?

可以透過三種方式在 Startup.cs 中註冊依賴項。 IE。 AddSingleton、AddScoped 和 AddTransient。

新增 Singleton

當我們將一種類型註冊為單例時,整個過程中只有一個實例可用。 application and for every 請求。

It is similar to having a static object.

The instance is created for the first request and the same is available throughout the 應用程式和每個後續請求。

public void ConfigureServices(IServiceCollection services){
   services.AddSingleton<ILog,Logger>()
}

新增Scoped

當我們將一個類型註冊為Scoped時,一個實例在整個 按請求申請。當新的請求到來時, 新實例已建立。新增範圍指定每個物件可用一個對象 請求。

public void ConfigureServices(IServiceCollection services){
   services.AddScoped<ILog,Logger>()
}

新增瞬態

當我們將一個類型註冊為瞬態時,每次都會建立一個新的實例。瞬態 為每個服務/控制器以及每個請求建立新實例 每個用戶。

public void ConfigureServices(IServiceCollection services){
   services.AddTransient<ILog,Logger>()
}

參數 新增Singleton 新增Scoped #新增Transient
實例 每個要求/每個
user.每個請求一個。 不同的 每次。 Disposed 應用程式關閉 請求結束 請求結束 ##Used in當單例 實作是必需的。 具有不同 每個使用者的行為。 重量輕, 每個使用者的行為。 輕量級和 無狀態服務。 #

以上是什麼是 AddSingleton、AddScoped 和 Add Transient C# Asp.net Core?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除