使用DI在NLog Target中设置属性

时间:2012-05-21 15:10:06

标签: dependency-injection inversion-of-control nlog

我正在使用NLog并拥有自定义目标。我想为这个目标注入一个依赖项。依赖项已在Unity容器中注册。我是在MVC应用程序中,DI容器正在Application_Start中设置

这里有类似问题的答案https://stackoverflow.com/a/9704442,但我不确定如何将其应用于我的代码

1 个答案:

答案 0 :(得分:0)

重要的是设置这个自定义处理程序,这将为nlog使用的类型调用。 确保在完成此操作后初始化nlog并注册依赖项

register your instances
.....
ConfigurationItemFactory.Default.CreateInstance = (Type type) =>
{
    object instance;
    if(unity/ninject/etc.TryResolve(type, out instance))
      return instance;
    else
      return Activator.CreateInstance(type); //this is to support the other types that come with NLog
};
......
 ConfigureNLog(...)