8

我的课程中有一个用于日志记录服务的属性。

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

我在我的组件注册中有这个:

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

但是,Windsor 似乎没有注入 Logger - 我错过了什么吗?

4

1 回答 1

14

AddFacility 的 lambda 参数实际上是一个创建回调(它在设施创建时被调用),而不是工厂。

改用这个:

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

顺便说一句,Windsor 会尽可能自动注入属性依赖项。

于 2009-06-29T23:29:58.167 回答