8

我在我的日志服务类上有一个属性。我怎样才能让温莎城堡自动注入房产?

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

而且我有这个在我的组件注册:

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

然而,温莎似乎并没有注入记录仪 - 我这么想吗?

回答

14

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

使用这个代替:

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

BTW温莎自动注入房地产的依赖时,它可以。

+3

谢谢你,你开始成为我个人的温莎助理:-) – 2009-06-30 09:55:17