少し混乱するUnityを使用するシナリオがあります...ユーザーを認証するAuthenticationServiceがあり、TextLoggerクラスまたはDbLoggerクラスをそれぞれ使用してテキストファイルまたはデータベースに正常にログを記録するとします。通常、プロジェクトで使用するクラスについては、以下のようにモジュール クラスに適切に登録します。
public class LoggingModule
{
IUnityContainer _iocContainer;
public LoggingModule(IUnityContainer container)
{
_iocContainer = container;
}
public void Init()
{
//Add any logic here to look in a config file, check a property
//or any other condition to decide which implementation is registered.
//register the database logger to the ILogger interface
_iocContainer.RegisterType(typeof(ILogger), typeof(DBLogger));
}
}
そして、これは認証サービスのコンストラクターに挿入されます。しかし、アプリケーションの異なるポイントで両方のロガーを使用したい場合、最初に Init メソッドで両方のタイプ、つまり TextLogger と DBLogger を登録しますか? 第二に、コンテナは解決するタイプをどのように認識しますか?
助けてください....