gpt4 book ai didi

azure - 我可以在 C# 中创建非静态 Azure 函数类,会有什么后果?

转载 作者:行者123 更新时间:2023-12-04 00:59:26 27 4
gpt4 key购买 nike

Azure 函数中的构造函数注入(inject)和自定义遥测事件的集合需要此非静态类。

如果我们在 Visual Studio 中创建一个 Azure 函数应用程序,它会使用 static 关键字创建默认值,如下所示:

public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
telemetryClient.TrackEvent(new Exception("Function started"));
}

但是要使用构造函数依赖注入(inject)(对于 Temeltry 客户端,我正在使用它),我们需要删除 static 关键字。

public Function1(TelemetryClient telemetryClient)
{
_telemetryClient = telemetryClient;
}

最佳答案

以前,Azure Functions 仅支持静态类/方法。此限制使得无法通过构造函数进行 DI。然而后来实现了对非静态类/方法的支持(参见 Support Instance Functions )。

因此,如果您需要通过构造函数使用 DI,只需将其更改为非静态即可。没有任何后果。

关于azure - 我可以在 C# 中创建非静态 Azure 函数类,会有什么后果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59821026/

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