将参数传递回StructureMap For <IThing> .Use <TConcrete>(x => myfunction)

我们在应用程序中使用StructureMap。 如何将参数传递回用于获取类实例的方法? 在容器配置中,我们正在执行以下操作:

myContainerProperty.Configure(x => 

    x.For<ILogger>().Use(() => GetFileLogger());

);

,然后在同一类中调用函数:

private ILogger GetFileLogger()
{
// set up the file logging here
}

我可以在这里从app.config中获取内容,但是我们有许多插件可以配置为有效/无效,也可以设置为使用自己的文件。 当每个插件调用时,如何将某些内容传递回此GetFileLogger()方法? 原因有一些遗留的原因,但这是我们需要回传的每个插件的基本文件名,以便每次我们记录某些内容时,文件都会被追加。

背景:作为Windows服务的一部分,插件在计时器上- 我们在每个插件都运行RunWorker时执行此操作:

_loggingService = ObjectFactory.Container.GetInstance<ILogger>();

并像这样调用(例如)异常记录器:

_loggingService.LogException(ex);

可能的问题是,我们还将App Insights和EventViewer用作服务,不需要此文件名。

wangling568112 回答:将参数传递回StructureMap For <IThing> .Use <TConcrete>(x => myfunction)

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/1237344.html

大家都在问