我使用Delgating处理程序向我的应用程序的内向请求添加相关ID。
但是,我的MVC应用通过他们提供的webapi客户端频繁调用远程域 https://remoteservice.net/xyz 。远程服务API允许用户通过请求标头设置关联ID,但是Webapi客户端没有提供公开该ID的方法。
因此,我现在正在考虑通过owin管道为来自我的MVC应用程序的所有传出远程调用设置关联ID。这可能吗?有帮助吗?
答案 0 :(得分:0)
您可以扩展HttpClientHandler并在其中添加一个correlationId标头:
public class CorrelatingHandler : HttpClientHandler
{
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
request.Headers.Add("currelationId", Guid.NewGuid());
return base.SendAsync(request, cancellationToken);
}
}
using(var client = new HttpClient(new CorrelatingHandler())){
.....
}