2

Dans cet Autofac IoC article, ils montrent un exemple de mappage d'une interface à une implémentation avec un paramètre. Vous le trouverez à mi-chemin de l'article..NET IoC - Code équivalent pour .NET Unity

Quel est l'équivalent Unity en XML? Je ne peux pas utiliser la syntaxe courante pour ce que je fais. Doit être un fichier de configuration externe.

MISE À JOUR:
Ceci est le morceau de code spécifique que je veux savoir comment faire dans l'unité -

<component id="DataStoreProvider" 
service="Company.Server.IDataStoreProvider,Company.Server.Interface" 
type="Company.Server.DataStoreProvider,Company.Server.Core"> 
    <parameters> 
    <connectionString>My Connection String</connectionString> 
    </parameters> 
</component> 

Peut-être pas le plus grand exemple de passer dans la chaîne de connexion de cette façon ... mais tu obtiens le point. Je voudrais savoir comment faire des paramètres en XML dans Unity.

Répondre

5

Vous pourriez le faire. Reportez-vous à ce MSDN article

<configuration> 
<configSections> 
    ... 
    <section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration" /> 
    ... 
</configSections> 
... 
<unity> 
    <typeAliases> 
     <!-- Lifetime manager types --> 
     <typeAlias alias="singleton" type="Microsoft.Practices.Unity.ContainerControlledLifetimeManager, Microsoft.Practices.Unity" /> 
     <typeAlias alias="external" type="Microsoft.Practices.Unity.ExternallyControlledLifetimeManager, Microsoft.Practices.Unity" /> 
     <typeAlias alias="ILoginService" type="Company.Shared.ILoginService,Company.Shared.Interface" /> 
     <typeAlias alias="LoginService" type="Company.Server.LoginService,Company.Server.Core" /> 
     <typeAlias alias="INavigationService" type="Company.Shared.INavigationService,Company.Shared.Interface" /> 
     <typeAlias alias="NavigationService" type="Company.Server.NavigationService,Company.Server.Core" /> 
    </typeAliases> 
    <containers> 
     <container name="Services"> 
     <types> 
      <type type="ILoginService" mapTo="LoginService" /> 
      <type type="INavigationService" mapTo="NavigationService" /> 
     </types> 
     </container>  
    </containers> 
    </unity> 
    .... 

MISE À JOUR: Si vous regardez dans l'article MSDN, il y a une section qui décrit ce que je crois qui correspond à vos besoins.

<type type="IMyService" mapTo="MyDataService" name="DataService"> 
     <typeConfig extensionType="Microsoft.Practices.Unity.Configuration.TypeInjectionElement, 
           Microsoft.Practices.Unity.Configuration"> 
     <constructor> 
      <param name="connectionString" parameterType="string"> 
      <value value="AdventureWorks"/> 
      </param> 
      <param name="logger" parameterType="ILogger"> 
      <dependency /> 
      </param> 
     </constructor> 
     </typeConfig> 
    </type> 
+0

voir la mise à jour. Pouvez-vous me montrer comment transmettre un paramètre dans votre fichier XML que vous avez publié? – BuddyJoe

+0

Merci, Vasu. Manqué que dans le premier balayage à travers. +1 et la victoire – BuddyJoe