繁体   English   中英

"Azure Durable Functions - HostBuilder 等效项在哪里?"

[英]Azure Durable Functions - where's the HostBuilder equivalent?

我正在使用Azure 持久函数<\/a>来编排当前包含在同一项目中的其他函数。 我想为那些编排的功能配置服务和日志记录。 我怎样才能做到这一点?

这里有一些更详细的信息:

在“普通”Azure 函数中,我有一个Program.cs<\/code>和一个Main<\/code>方法,其中包含以下代码,用于设置函数执行的环境:

var host = new HostBuilder()
    .ConfigureFunctionsWorkerDefaults()
    .ConfigureLogging(loggingBuilder => { loggingBuilder.SetMinimumLevel(LogLevel.Trace); })... etc. pp.

默认情况下,ILogger 实例被注入到您的函数中,除非您使用 DI。您需要做的就是使用 ILogger。

[FunctionName("funcname")]
public async static Task RunOrchestrator(
    [OrchestrationTrigger] DurableOrchestrationContext context,
    ILogger log)
{
    log.LogInformation("Starting Orchestration");
}

如果您使用依赖注入, 请检查Incase,您应该在启动 builder.Services.AddLogging(); 中执行以下操作;

还要检查

因此,解决方案是使用此处<\/a>概述的FunctionsStartup<\/code>类。 这应该使依赖注入工作,也适用于持久功能。

对我来说,它并没有立即起作用,而且花了一段时间才弄清楚原因。 我尝试的是向静态方法添加一个附加参数( myService<\/code> ),如下所示:

[FunctionName("DurableFunctionsOrchestrationCSharp1_Hello")]
public static string SayHello([ActivityTrigger] string name, ILogger log, IMyService myService)
{
    log.LogInformation($"Saying hello to {name}.");
    return $"Hello {name}!";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM