У меня есть веб-интерфейс, используемый мобильными приложениями.Я могу воспроизвести дело с почтальоном также с соответствующими параметрами.
Вот мой вызов почтальона, перехваченный fiddler:
GET http://localhost/WebApi/api/User/GetAnnouncement?id=22 HTTP/1.1
Content-Type: application/json
ApiKey: someKey
AuthenticationToken: someGuid1
UserId: 6524
DeviceId: someGuid2
LocalDate: 538294155.662561
OsTypeId: 1
LoginToken: someGuid3
CompanyId: 2
cache-control: no-cache
Postman-Token: b863afdd-b04c-4a4d-b473-69d5ecef622e
User-Agent: PostmanRuntime/7.4.0
Accept: */*
Host: localhost
cookie: ASP.NET_SessionId=nk4g3zzfyi0n3xomfw5dxxxx
accept-encoding: gzip, deflate
Connection: keep-alive
, и моя проблема возникает в фильтре действия авторизации:
public class BasicAuthorizeAttribute : FilterAttribute
{
}
public class BasicAuthorizeFilter : AuthorizationFilterAttribute
{
public override void OnAuthorization(HttpActionContext actionContext)
{
//!!!HERE when I debug, in watch I can see already authHeader has value "in some calls"
System.Threading.Thread.SetData( System.Threading.Thread.GetNamedDataSlot("authHeader"), "someValueComingFromRequestHeader" );
}
}
В самом начале OnAuthorization (см. Строку !!! ЗДЕСЬ в коде), я вижу в наблюдении это выражение:
System.Threading.Thread.GetData(System.Threading.Thread.GetNamedDataSlot("authHeader"))
имеет значение, хотя я ожидаю, что оно всегда равно нулю,Он даже имеет значение от предыдущего клиента.
На самом деле проблема связана с ошибкой "сессия", смешанной (я имею в виду смешанная).
Этот код частей находится в структуре моей компании, так что что-тостранно неправильно.Я могу дать столько, сколько я могу до сих пор.Пожалуйста, спросите любую необходимую информацию.
В чем может быть причина?
Я осмелюсь спросить это, потому что вполне возможно, что проблема очевидна.
Примечание: у меня естьтот же случай, когда ни одна отладка с двумя телефонами, подключенными к моему компьютеру через настройки прокси.