Autofac建立執行個體的方法總結 【轉】

來源:互聯網
上載者:User

標籤:style   blog   http   io   color   ar   sp   strong   div   

Autofac建立執行個體的方法總結  

1、InstancePerDependency

對每一個依賴或每一次調用建立一個新的唯一的執行個體。這也是預設的建立執行個體的方式。

官方文檔解釋:Configure the component so that every dependent component or call to Resolve() gets a new, unique instance (default.)


2、InstancePerLifetimeScope

在一個生命週期域中,每一個依賴或調用建立一個單一的共用的執行個體,且每一個不同的生命週期域,執行個體是唯一的,不共用的。

官方文檔解釋:Configure the component so that every dependent component or call to Resolve() within a single ILifetimeScope gets the same, shared instance. Dependent components in different lifetime scopes will get different instances.


3、InstancePerMatchingLifetimeScope

在一個做標識的生命週期域中,每一個依賴或調用建立一個單一的共用的執行個體。打了標識了的生命週期域中的子標識域中可以共用父級域中的執行個體。若在整個繼承層次中沒有找到打標識的生命週期域,則會拋出異常:DependencyResolutionException。

官方文檔解釋:Configure the component so that every dependent component or call to Resolve() within a ILifetimeScope tagged with any of the provided tags value gets the same, shared instance. Dependent components in lifetime scopes that are children of the tagged scope will share the parent‘s instance. If no appropriately tagged scope can be found in the hierarchy an DependencyResolutionException is thrown.


4、InstancePerOwned

在一個生命週期域中所擁有的執行個體建立的生命週期中,每一個相依元件或調用Resolve()方法建立一個單一的共用的執行個體,並且子生命週期域共用父生命週期域中的執行個體。若在繼承層級中沒有發現合適的擁有子執行個體的生命週期域,則拋出異常:DependencyResolutionException。

官方文檔解釋:Configure the component so that every dependent component or call to Resolve() within a ILifetimeScope created by an owned instance gets the same, shared instance. Dependent components in lifetime scopes that are children of the owned instance scope will share the parent‘s instance. If no appropriate owned instance scope can be found in the hierarchy an DependencyResolutionException is thrown.


5、SingleInstance

每一次相依元件或調用Resolve()方法都會得到一個相同的共用的執行個體。其實就是單例模式。

官方文檔解釋:Configure the component so that every dependent component or call to Resolve() gets the same, shared instance.


6、InstancePerHttpRequest

 

在一次Http請求上下文中,共用一個組件執行個體。僅適用於asp.net mvc開發。
官方文檔解釋:Share one instance of the component within the context of a single HTTP request.

Autofac建立執行個體的方法總結 【轉】

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.