Configurazione degli Unity built-in life time manager

Scritto da  Simone Di Stasio il lunedì 19 dicembre 2011  •  Linguaggio: C#   • Livello: 200


Configurazione attraverso file di configurazione (app.config/web.config) :

<unity xmlns="http://schemas.microsoft.com/practices/2010/unity">
   <typeAliases>
       <!-- Lifetime manager types -->
       <typeAlias alias="Transient" type="Microsoft.Practices.Unity.TransientLifetimeManager,Microsoft.Practices.Unity"/>
       <typeAlias alias="Singleton" type="Microsoft.Practices.Unity.ContainerControlledLifetimeManager,Microsoft.Practices.Unity"/>
       <typeAlias alias="PerResolve" type="Microsoft.Practices.Unity.PerResolveLifetimeManager,Microsoft.Practices.Unity"/>
       <typeAlias alias="PerThread" type="Microsoft.Practices.Unity.PerThreadLifetimeManager,Microsoft.Practices.Unity"/>
       <typeAlias alias="Hierarchical" type="Microsoft.Practices.Unity.HierarchicalLifetimeManager,Microsoft.Practices.Unity"/>   
       <typeAlias alias="External"  type="Microsoft.Practices.Unity.ExternallyControlledLifetimeManager,Microsoft.Practices.Unity"/>
       <!-- User-defined type aliases -->
       <typeAlias alias="IMyService" type="Namespace.Type, Namespace" />
   </typeAliases>
   <container>
      <register type="IMyService" mapTo="Namespace.Type, Namespace">
         <lifetime type="Singleton" />
      </register>
   </container>   
</unity>

 

Configurazione attraverso fluent interface

C#

container.RegisterType<IMyService, Service>(new ContainerControlledLifetimeManager());
container.RegisterType<IMyService, Service>(new PerResolveLifetimeManager());
container.RegisterType<IMyService, Service>(new PerThreadLifetimeManager());
container.RegisterType<IMyService, Service>(new HierarchicalLifetimeManager());
container.RegisterType<IMyService, Service>(new ExternallyControlledLifetimeManager());

 

 


Tags: Unity

 
x