带有令牌的Azure功能单例

时间:2020-06-10 06:04:01

标签: c# azure http azure-functions microsoft-graph-api

尝试确定与Azure函数一起使用的最佳调用模式,该Azure函数包含一个HttpClient,该HttpClient的头中包含一个auth令牌。

我可以使用AsyncLazy避免HttpClient膨胀。但是,我担心令牌的线程安全性。

当前计划是使用持久功能和锁定的协调器。有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

Azure函数支持依赖项注入,因此您函数的类可以接收$(document).ready(function() { $('#formApp').validate({ rules: { <%=txtEmailInput.UniqueID %>: { required: true, email: true }, <%=txtUsernameInput.UniqueID %>: { required: true, minlength: 2 }, <%=txtFullNameInput.UniqueID %>: { required: true, minlength: 2 } }, }); }); HttpClient的实例-请参见https://docs.microsoft.com/en-us/azure/azure-functions/functions-dotnet-dependency-injectionhttps://docs.microsoft.com/en-us/dotnet/architecture/microservices/implement-resilient-applications/use-httpclientfactory-to-implement-resilient-http-requests。建议使用这种方法实例化HttpClient,而不是自己管理它们。

关于令牌,如果它从未更改,则可以使用IHttpClientFactory并将其配置为创建带有添加到IHttpClientFactory的令牌的HttpClient。如果确实发生更改,则建议您使用包含标题的DefaultRequestHeaders发送请求,而不是直接将其应用于HttpRequestMessage