2

In diesem Autofac IoC article zeigen sie ein Beispiel für die Zuordnung einer Schnittstelle zu einer Implementierung mit einem Parameter. Du wirst es auf halber Strecke des Artikels finden..NET IoC - Equivalent Code für .NET Unity

Was ist die Unity-Entsprechung in XML? Kann nicht die fließende Syntax für das, was ich mache, verwenden. Muss eine externe Konfigurationsdatei sein.

UPDATE:
Dies ist das spezifische Stück Code Ich mag wissen, wie in der Einheit zu tun -

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

Vielleicht nicht das beste Beispiel auf diese Weise in der Verbindungszeichenfolge vorbei ... aber Sie bekommen den Punkt. Ich würde gerne wissen, wie man Parameter in XML in Unity macht.

Antwort

5

Sie könnten dies tun. Siehe diesen MSDN Artikel

<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> 
    .... 

UPDATE: Wenn Sie die MSDN-Artikel schauen, ein Abschnitt ist das, was beschreibt Ich glaube, dass Ihre Anforderungen entspricht.

<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

siehe Aktualisierung. Können Sie mir zeigen, wie Parameter in Ihrem von Ihnen geposteten XML übergeben werden? – BuddyJoe

+0

Danke, Vasu. Verpasst das im ersten Scan durch. +1 und der Gewinn. – BuddyJoe