У нас реализован DelegatingHandler, в котором есть несколько закрытых переменных, и 2 из них получают значения из разных параллельных запросов, отличных от их собственных, даже если они не являются статическими переменными
public sealed class XYZProxyHandler:DelegatingHandler
{
private string _var1;
private string _var2;
protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
var token = request.Headers.GetCookies().FirstOrDefault().Cookies.FirstOrDefault(x => x.Name.ToLower() == "access_token").Value;
_var1 = GetVar1(token);
_var2 = GetVar2(token);
Пытался сделать его простымкод, в том числе важный кусок кода.В приведенном выше примере кода в идеале _var1 и _var2 должны получать значения своего собственного запроса, но по какой-то причине они иногда получают значения других запросов.У меня есть случаи, когда _var1 получает значение другого запроса, но _var2 получает значение своего собственного запроса, и наоборот.
Я сталкивался с таким типом поведения раньше, когда статическая переменная совместно используется запросами, но этине являются статическими переменными, и поэтому я не уверен, как это может произойти или что-то связано с реализацией DelegatingHandler.
Я пытался проверить это, но не воспроизводил его, и я работаю над тем же с болееизменения тестовых данных, и это происходит 50 раз в месяц, может быть, не так часто.
Я не уверен, что мне видят туннель и я не вижу ничего очевидного или явного.