gpt4 book ai didi

logging - 如何在 CaSTLe Windsor 工厂方法中获取请求类型?

转载 作者:行者123 更新时间:2023-12-05 00:58:02 24 4
gpt4 key购买 nike

我想在组件注册期间使用工厂方法来集成静态记录器工厂,如下所示:

Component
.For<ILogger>()
.UsingFactoryMethod((kernel, componentModel, creationContext) => LoggingFactory.GetLogger("..."))
.LifestyleTransient(),
GetLogger类需要日志上下文的名称。我想在那里传递请求记录器的类的全名。在这种情况下,这将是明确的,因为 ILogger 服务的生活方式是短暂的。

我看到有 creationContext.RequestedType (包含 ILogger ),但没有 creationContext.RequestingType .

最佳答案

您可以从 creationContext.Handler.ComponentModel.Name 获取解析类型.
以下代码应该可以满足您的需求:

Component
.For<ILogger>()
.UsingFactoryMethod((kernel, componentModel, creationContext) => LoggingFactory.GetLogger(creationContext.Handler.ComponentModel.Name))
.LifestyleTransient(),

关于logging - 如何在 CaSTLe Windsor 工厂方法中获取请求类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33630601/

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