1

すでに登録されているコンポーネントにサービスを追加する際に問題があります。次のような状況があります。

public class MyImplementation : BaseClass, IInterface
{

}

私のアプリケーションのインフラストラクチャ (変更される可能性はありません) のどこかに、私のクラスは次の方法で登録されます。

container.Register(Classes
                               .FromThisAssembly()
                               .BasedOn(typeof (BaseClass))
                               .WithServiceBase()                                                                      
                               .LifestyleTransient());

私が今やりたいことは、追加のサービスを MyImplementation コンポーネントに追加することです。次の方法でインストーラーでそれを試しました:

container.Register(Classes
                               .FromThisAssembly()
                               .BasedOn(typeof (IInterface))
                               .WithServiceBase()                                                                      
                               .LifestyleTransient());

しかし、コンテナーから IInterface を解決しようとすると、IInterface に登録されたコンポーネントがないというエラーが表示されます。

私の質問は、既に登録されているコンポーネントに追加のサービスを追加できるかどうかです。前もって感謝します。マイク

4

1 に答える 1

0

2番目の登録を変更すると、機能すると思います。

container.Register(Classes
                           .FromThisAssembly()
                           .BasedOn(typeof (IInterface))
                           .WithServiceAllInterfaces()                                                                      
                           .LifestyleTransient());
于 2013-01-27T13:02:40.670 に答える