8

クラスにロギングサービス用のプロパティがあります。

private ILogger logger = NullLogger.Instance;
public ILogger Logger
{
    get { return logger; }
    set { logger = value; }
}

そして、私は私のコンポーネント登録にこれを持っています:

container.AddFacility<LoggingFacility>(x => new LoggingFacility(LoggerImplementation.Log4net));

しかし、ウィンザーはロガーを注入していないようです-私は何かが足りないのですか?

4

1 に答える 1

14

AddFacilityのラムダパラメーターは、実際には作成コールバック(ファシリティの作成時に呼び出されます)であり、ファクトリではありません。

代わりにこれを使用してください:

container.AddFacility("logging", new LoggingFacility(LoggerImplementation.Log4net, "path_to_log4net.config"));

ところで、Windsorは、可能な場合はいつでもプロパティの依存関係を自動的に挿入します。

于 2009-06-29T23:29:58.167 に答える