autofac と mvc 4 を使用するのはこれが初めてです。Nuget パッケージを使用して AutoFac をインストールしました。私のnugetパッケージがインストールされました:
<package id="Autofac" version="3.1.5" targetFramework="net45" />
<package id="Autofac.Mvc4" version="3.1.0" targetFramework="net45" />
ロガーの 3 つの実装があります。
builder.RegisterType<DbLogger>().As<ILogger>();
builder.RegisterType<TextLogger>().As<ILogger>();
builder.RegisterType<MemoryLogger>().As<ILogger>();
私のホームコントローラーは、次のコードを使用して登録されています。
// in case we want to exclude this in external dll
builder.RegisterControllers(Assembly.GetCallingAssembly());
3 つの実装すべての My Home コントローラー コンストラクターは簡単です。
private ILogger[] loggers;
public HomeController(ILogger[] loggers)
{
this.loggers = loggers;
}
特定の「MemoryLogger」を MemoryController に登録するにはどうすればよいですか?
private ILogger _memoryLogger;
public MemoryController(ILogger logger)
{
this._memoryLogger = logger;
}
特定の実装でコントローラーを再登録できることを知っています。
Ninjectと同じ