簡體   English   中英

設置單例值的結構(或任何DI組件)

[英]Structure (Or any DI component) setting singleton values

我正在使用StructureMap,但我認為任何DI組件或應該能夠回答此問題。

讓我提出我認為可能的關注點,但認為最好將其說出來。

  • 我想將IUser注入到應用程序堆棧中。 我想在由structuremap創建時將其創建為單例
  • 我希望它具有IUser.SetUser(permissions perm,accessRules,rules)方法,該方法將在身份驗證邏輯中調用

在IUser.SetUser(permissions perm,accessRules,rules)中的方法被調用之后,請在我的控制器層中說。 現在,當IUser注入較低的層(例如命令處理程序,服務,事件處理程序等)時,單例實例將保留IUser.SetUser(permissions perm,accessRules,rules)設置的屬性集的值嗎?

從我對DI的信念看來,這似乎是一個簡單的肯定,但是我想我要確保確定。

通常,Web應用程序中對象的所有實例都是根據一個請求創建的。 因此,如果您的IUser具有每個請求的生存期,它將在當前請求期間保留所有數據。 如果將IUser創建為整個應用程序的單例,它將保留數據直到應用程序池回收為止。

暫無
暫無

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

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