尝试确定与Azure函数一起使用的最佳调用模式,该Azure函数包含一个HttpClient,该HttpClient的头中包含一个auth令牌。
我可以使用AsyncLazy避免HttpClient膨胀。但是,我担心令牌的线程安全性。
当前计划是使用持久功能和锁定的协调器。有更好的方法吗?
答案 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-injection和https://docs.microsoft.com/en-us/dotnet/architecture/microservices/implement-resilient-applications/use-httpclientfactory-to-implement-resilient-http-requests。建议使用这种方法实例化HttpClient,而不是自己管理它们。
关于令牌,如果它从未更改,则可以使用IHttpClientFactory
并将其配置为创建带有添加到IHttpClientFactory
的令牌的HttpClient
。如果确实发生更改,则建议您使用包含标题的DefaultRequestHeaders
发送请求,而不是直接将其应用于HttpRequestMessage
。