簡體   English   中英

在ASP.net解決方案中使用Unity IOC容器

[英]Using Unity IOC Container in ASP.net solution

我們在ASP.Net解決方案中使用Microsofts Unity IOC容器。

在其中一個頂層中,我們使用RegisterInstance方法。 然后我們使用Resolve方法將其降低。

在查看另一個問題時,我們已經看到ASP.Net具有線程敏捷性,即請求可以跳轉線程。

所以問題是如果我們在一個線程上注冊一個實例,並且在我們解析實例之前請求跳轉線程,我們會回到正確的實例嗎?

  1. 如果你在同一個容器上解析你的類型,你已經在(或它的孩子)中注冊了它,你就會獲得正確的實例。

  2. 據我所知,沒有必要在每個請求上注冊容器中的類型,這通常是在應用程序啟動時的某個地方完成的。

基於

[...] Resolve,ResolveAll和BuildUp都是線程安全的 看起來我們在文檔中錯過了它。

容器上的其他任何方法都不是線程安全的,因此如果您要配置容器,則需要進行鎖定。 此外,如果您有一個線程配置和另一個線程解析,則會出現線程問題。

AFAIK,您的方法是正確的,您不必擔心在ASP.NET應用程序中獲取不正確的實例。

暫無
暫無

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

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