繁体   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