簡體   English   中英

應用程序生命周期並在 ASP.NET 內核中添加 Singleton DI 服務

[英]Application Lifetime and Add Singleton DI service in ASP.NET Core

我試圖了解 ASP.NET 核心中 DI 上下文中的 singleton 生命周期。

首先,據我所知,Singleton 實例將在“整個應用程序生命周期”中可用。 但是“應用程序生命周期”是什么意思? 如果它是一個網站並且如果用戶登錄,則首先創建 singleton 並且用戶注銷並在幾個小時后返回該站點並重新登錄該用戶會獲得相同的 singleton 實例嗎? 多用戶呢? 多個用戶可以獲取相同的 singleton 實例嗎?

二、.NET Core中的應用生命周期何時結束? 大多數文章都在討論注冊應用程序關閉事件。 但是什么會觸發應用程序關閉? 它總是像 IISreset 或系統關閉這樣的外部事件嗎? 還是像 memory 崩潰等內部事件? 如果沒有重置或 memory 或任何其他問題,它會一直持續下去嗎?

Singleton 在這里(即不是 singleton 設計模式)意味着創建的根IServiceProvider的單個實例,因此有效地將單個實例用於所有請求,直到進程退出。

它與每個請求或 session 無關。 如果您希望每個請求都有一個新實例,但要共享,請使用作用域生命周期。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM