2

このAutofac IoC articleでは、インターフェイスを実装をパラメータにマッピングする例を示しています。あなたは記事の途中でそれを見つけるでしょう。.NET IoC - .NET Unityの等価コード

XMLのUnityに相当するものは何ですか?私がしていることに流暢な構文を使用することはできません。外部の設定ファイルである必要があります。

UPDATE
これは私がユニティで行う方法を知りたいコードの特定の部分である - たぶん、接続文字列でこの方法を渡すの最大の例

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

ない...しかし、あなたはポイントを得る。私は、UnityでXMLでパラメータを実行する方法を知りたいです。

答えて

5

これは可能です。このMSDN記事

<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を参照してください:あなたはMSDNの記事に見れば、私はそれがあなたの要件に合う信じるもの説明するセクションがあります。

<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

更新を参照してください。投稿したXMLにパラメータを渡す方法を教えてください。 – BuddyJoe

+0

ありがとう、ヴァス。最初のスキャンでそれを逃した。 +1と勝利。 – BuddyJoe