微軟企業庫4 1學習筆記(七)建立物件 續集1

2021-08-30 14:27:14 字數 1532 閱讀 5962

3.2使用unity模組建立企業庫物件

下面介紹如何使用前面的方法獲取企業庫物件的例項。**示例如下

iunitycontainer containter 

=new

unitycontainer();

containter.addnewextension

<

enterpriselibrarycoreextension

>

();

首先建立乙個unity容器,並且新增企業庫核心配置擴充套件。

iunitycontainer ucontainer 

=new

unitycontainer();

iconfigurationsource source 

=new

fileconfigurationsource(@""

);ucontainer.addextension(

newenterpriselibrarycoreextension(source));

在你新增任何企業庫擴充套件(你可以在任何階段新增其他不是企業庫擴充套件的擴充套件)之前, 必須先在容器中新增enterpriselibrarycoreextension。如果在容器中已經存在乙個企業庫擴充套件,你可以使用removeallextensions刪除它們,然後以正確的順序新增進去。

下一步就是在容器中新增你要使用的模組對應的模組擴充套件,如果又需要,可以新增多個進去。擴充套件的命名是以模組的名稱+blockextension,例如dataaccessblockextension,loggingblockextension等。**示例

ucontainer.addnewextension

<

cachingblockextension

>

();

如果你使用的模組和其他模組有依賴的話,也要新增依賴模組的blockextension,當前版本提供的blockextension包括:  enterpriselibraryblockextension、dataaccessblockextension、cachingblockextension、securityblockextension、cryptographyblockextension、exceptionhandlingblockextension、loggingblockextension。 

現在你可以使用容器的resolve建立provider的物件和在企業庫標準配置中定義的物件。下面的**示例了建立cachemananger例項

icachemanager cachemanager 

=ucontainer.resolve

<

icachemanager

>

();

當容器被**之後,容器擴充套件產生的企業庫配置將會丟失。所以,在**中需要對容器有乙個強引用。另外,你用企業庫擴充套件建立,並且用resolve方法獲取的物件都是singleton模式,生命週期是由unity容器來控制的。當容器被**dispose或者超出變數範圍之後,他們也會消失。  

未完待續。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

微軟企業庫4 1學習筆記(七)建立物件 續集1

3.2使用unity模組建立企業庫物件 下面介紹如何使用前面的方法獲取企業庫物件的例項。示例如下 iunitycontainer containter new unitycontainer containter.addnewextension enterpriselibrarycoreextensi...

微軟企業庫4 1學習筆記(七)建立物件 續集1

3.2使用unity模組建立企業庫物件 下面介紹如何使用前面的方法獲取企業庫物件的例項。示例如下 iunitycontainer containter new unitycontainer containter.addnewextension enterpriselibrarycoreextensi...

微軟企業庫4 1學習筆記(七)建立物件 續集1

3.2使用unity模組建立企業庫物件 下面介紹如何使用前面的方法獲取企業庫物件的例項。示例如下 iunitycontainer containter new unitycontainer containter.addnewextension enterpriselibrarycoreextensi...