带有Token的Azure函数Singleton

问题描述 投票:1回答:1

试图确定与包含HttpClient的Azure Function一起使用的最佳调用模式,该HttpClient在头中包含一个Auth token。

我可以使用AsyncLazy来避免HttpClient的膨胀。但是,我担心token的线程安全问题。

目前的计划是使用一个Durable函数和一个锁住的Orchestrater。有没有更好的方法?

c# azure http azure-functions microsoft-graph
1个回答
1
投票

Azure 函数支持依赖注入,因此,您的函数的类可以接收到一个由 HttpClientIHttpClientFactory - 看到 https:/docs.microsoft.comen-usazureazure-functionsfunctions-dotnet-dependency-injection。https:/docs.microsoft.comen-usdotnetarchitecturemicroservicesimplement-resilient-applicationsus-httpclientfactory-to-replement-resilient-http-requests。. 这是推荐的实例化HttpClients的方式,而不是自己管理它们。

关于令牌,如果它从不改变,那么你可以使用 IHttpClientFactory 并将其配置为创建一个 HttpClient 并将其添加到 DefaultRequestHeaders. 如果它确实改变了,那么我建议使用一个 HttpRequestMessage 的头来发送你的请求,而不是直接将其应用于 HttpClient.

© www.soinside.com 2019 - 2024. All rights reserved.