私は、.NET Web APIアプリケーションでDependency Injectionを実装するために単一性を使用しています。 はここUnityの名前による依存関係の登録方法
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
var container = new UnityContainer();
AppDependancyRegistry.Register(container);
config.DependencyResolver = new UnityResolver(container);
}
}
そして、ここでは、私は一般的なRepositoresマッピングされている私のAppDependancyRegistryクラス
public static class AppDependancyRegistry
{
public static void Register(UnityContainer container)
{
container.RegisterType(typeof(IBaseRepository<>), typeof(BaseRepository<>));
//container.RegisterTypes(AllClasses.FromLoadedAssemblies(), WithMappings.FromMatchingInterface, WithName.Default);
}
}
ですが、私はそのインターフェイスにマネージャークラスを登録して取得couldntの私のWebApiCongigのrelevent一部です。私はマネージャークラスのすべてを手動でマッピングしたくありません。
私はすべての研究からやった部分をコメントしました。私はちょうど確認したい、これは
私のマネージャークラスのもののいくつかのより多くを行うことなく、私は私のアプリを実行し得るカントとして、私は今それを行う方法です:インターフェイスは、アドバンス
にDutyManager: IDutyManager
UserDetailManager:IUserDetailManager
などのおかげのように見えます
のようにマップする慣例により、ここで
を使用してインタフェースをrespeciveするすべてのクラスをマッピングすることができます- 何故なの? –
もっと仕事が悪いです。私のコンセプトです。一度良いことを学ぶ –
1つのインターフェイスのすべての実装を一括登録することはできますが、複数のインターフェイスは一切登録することはできません。少なくとも城では、ninject、structuremap、およびtinyioc。私は統一を使用していない。 –