Что может вызвать изменение HttpContext.Current.Session при последующих вызовах WebAPI при использовании браузера Chrome, но не в Edge - PullRequest
0 голосов
/ 19 марта 2020

Это ASP. NET 4.8 Framework-приложение (Angular 7 front end). Когда я использую chrome (обычный или инкогнито), у меня есть 2 вызова API подряд, один для «входа в систему» ​​и один для «GetData» для домашней страницы пользователя. Когда я отлаживаю это, я вижу в chrome, что SessionId на поваре ie, отправляемом в HttpPost, совпадает на обоих вызовах, но на стороне сервера, когда я отлаживаю расширение AuthorizeAttribute, которое у меня есть HttpContext.Current.Session.SessionId Я вижу, что сессия изменилась между вызовом «Login» и вызовом «GetData». Это два разных API-контроллера.

Когда я делаю то же самое в Edge, я не вижу этой проблемы.

Что я могу сделать, чтобы устранить эту проблему? Я посмотрел на мой код в Global.asax.cs Session_Start и не вижу ничего перезаписывающего информацию о сеансе.

  • RequireSSL не соответствует действительности
  • Я не настраиваю Secure в true Это проблема
  • Эта проблема не возникает у других разработчиков, использующих ту же самую базу кода
  • Я попытался добавить некоторый код в Session_Start, например Session["init"] = 0;

РЕДАКТИРОВАТЬ: работает и в firefox

, это связано с chrome v80 +, как описано здесь

...