[英]Using Unity IOC Container in ASP.net solution
我們在ASP.Net解決方案中使用Microsofts Unity IOC容器。
在其中一個頂層中,我們使用RegisterInstance方法。 然后我們使用Resolve方法將其降低。
在查看另一個問題時,我們已經看到ASP.Net具有線程敏捷性,即請求可以跳轉線程。
所以問題是如果我們在一個線程上注冊一個實例,並且在我們解析實例之前請求跳轉線程,我們會回到正確的實例嗎?
如果你在同一個容器上解析你的類型,你已經在(或它的孩子)中注冊了它,你就會獲得正確的實例。
據我所知,沒有必要在每個請求上注冊容器中的類型,這通常是在應用程序啟動時的某個地方完成的。
基於此
[...] Resolve,ResolveAll和BuildUp都是線程安全的 。 看起來我們在文檔中錯過了它。
容器上的其他任何方法都不是線程安全的,因此如果您要配置容器,則需要進行鎖定。 此外,如果您有一個線程配置和另一個線程解析,則會出現線程問題。
AFAIK,您的方法是正確的,您不必擔心在ASP.NET應用程序中獲取不正確的實例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.