我可以在为每个线程设置http标头时跨Web请求重用JsonServiceClient

时间:2018-03-19 15:34:51

标签: c# servicestack

我们正在基于servicestack框架创建一系列dotnet core 2.0微服务。我们希望使用基于http头的相关令牌,因此我们可以在分布式日志记录系统(Seq)中跟踪请求。

出于性能原因,我们希望使用IoC来设置一个包含线程安全JsonServiceClient的类,但是我们如何确保放在一个线程上的头不会泄漏到另一个并发请求?客户端代码示例:

公共TResponse Get(IReturn requestDto)

...

_serviceClient.AddHeader(" r-id",theReqId); //我们怎样才能使这些特定于线程请求?

var responseFromDownstreamService = _serviceClient.Get(requestDto);

1 个答案:

答案 0 :(得分:1)

如果您正在修改服务客户端实例,则依赖关系需要是暂时的,因此每个线程都会收到一个新的实例,他们可以在不修改其他线程使用的相同实例的情况下进行变异。