Приложение работает безупречно в .net core 2.1.Конфигурация сервера signalR выглядит как следующий фрагмент кода в методе public void ConfigureServices(IServiceCollection services)
:
`` `
services.AddCors(setupAction =>
setupAction.AddPolicy("MyPolicy",
builder => builder
.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials()))
` ``
А в методе Configuration у меня естьследующий фрагмент кода:
`` `
app.UseCors("MyPolicy")
` ``
Код углового клиентского приложения запускает соединение, как в следующем фрагменте кода:
`` `
this._connection = this._connection || new HubConnectionBuilder()
.withUrl('https://localhost:44314/xyz/test?abc=123', options)
.build();
` ``
Как я уже говорил, эта установка всегда работала нормально.Я обновил базовое приложение .net (сервер signalR) с 2.1 до 2.2 (dotnetcore SDK ver 2.2.101) и обновил клиентский пакет signalR до 1.1.0.Сервер signalR обслуживает угловое приложение и другое приложение на C #.Приложение C # прекрасно подключается к серверу signalR и делает все, что должно, но угловое приложение выдает следующее сообщение об ошибке:
Доступ к XMLHttpRequest в «https://localhost:44314/xyz/test/negotiate?abc=123' from origin»https://localhost:44303' был заблокирован политикой CORS: Ответ на запрос предварительной проверки не проходит проверку контроля доступа: значение заголовка «Access-Control-Allow-Origin» в ответе не должно быть подстановочным знаком «*»когда режим учетных данных запроса «включить».Режим учетных данных запросов, инициируемых XMLHttpRequest, контролируется атрибутом withCredentials.
Версия клиента signalR - 1.1.0 для обоих приложений - angular и C #.
Anyпричины, по которым такое обновление до .net core 2.2 приводит к сбою связи и каково возможное решение?!