gpt4 book ai didi

.net - NLog:自定义目标的依赖注入(inject)

转载 作者:行者123 更新时间:2023-12-04 15:26:35 30 4
gpt4 key购买 nike

我是 NLog 的用户,我正在创建自己的自定义目标。这个目标将使用一些存储库(使用 NHibernate)来持久化日志条目。

是否可以使用任何 IoC 框架(最好是 StructureMap)注入(inject)自定义目标所需的构造函数依赖项?

问候,

Ĵ

最佳答案

我想为人们提供一些背景信息,因为我起初对你的回答 JC 感到困惑。

public Program {

//
// Static constructor
//
static Program() {
// Set up Ninject
var kernel = new StandardKernel();

// Register bindings
RegisterServices(kernel);

// Set up Ninject logging config
NLog.Config.ConfigurationItemFactory.Default.CreateInstance =
(type) => kernel.TryGet(type);

// Continue on!
}

private static void RegisterServices(IKernel kernel) {
// bind services!
kernel.Bind<IMyClass>().To<MyClass>();
}
}

[Target("Custom")]
public class CustomTarget : TargetWithLayout {

private IMyClass _myClass;
public CustomTarget(IMyClass myClass) {

// This will be injected!
_myClass = myClass;
}
}

这显示了如何设置实例创建以及它如何与 NLog 结合在一起。希望对其他人有所帮助!

关于.net - NLog:自定义目标的依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6018721/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com