gpt4 book ai didi

c# - Azure Durable Functions - HostBuilder 的等效项在哪里?

转载 作者:行者123 更新时间:2023-12-02 06:37:28 27 4
gpt4 key购买 nike

我正在使用Azure Durable Function协调当前包含在同一项目中的其他功能。我想为这些精心策划的功能配置服务和日志记录。我怎样才能做到这一点?

这里有一些更多细节:

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

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

使用HostBuilder,我可以添加额外的日志记录提供程序、添加缓存服务等。然后通过 Azure Function 的构造函数注入(inject)这些服务。

现在,相比之下,通过 VS Code“Durable Function Orchestration”模板创建 Durable Function 项目时,没有 Program.cs、没有 HostBuilder 和构造函数。只有一些代表编排器和编排函数的静态方法。

由于“Durable Function Orchestration”模板中没有开箱即用的 HostBuilder - Durable Functions 的 HostBuilder 等效项看起来如何?这里的模式或惯例是什么?我自己写吗?或者是否有一些实例 float 或初始化我可以 Hook ?或者是否应该将编排的函数放入单独的 Azure Function 项目中,以便我可以在其中使用 HostBuilder

任何提示表示赞赏。

最佳答案

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

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

Check如果您使用依赖注入(inject),您应该在启动构建器中执行以下操作。Services.AddLogging();

Also check

关于c# - Azure Durable Functions - HostBuilder 的等效项在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71009029/

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