Политика CORS не хочет работать с ядром SignalR и ASP.NET - PullRequest
0 голосов
/ 22 февраля 2019

У меня проблема с моим основным API ASP.NET и клиентом Angular.Я хочу реализовать SignalR, чтобы иметь связь между API и Angular.Политика cors уже активирована на нашем клиенте и API, потому что мы уже можем получать данные из API с помощью нашего клиента.Но проблема теперь в том, что когда я пытаюсь использовать SignalR, я получаю сообщение об ошибке с CORS POLICY:

Доступ к XMLHttpRequest в 'http://localhost:50501/CoordinatorHub/negotiate' от источника' http://localhost:4200' былзаблокирован политикой CORS: Ответ на запрос предварительной проверки не проходит проверку контроля доступа: в запрашиваемом ресурсе отсутствует заголовок «Access-Control-Allow-Origin».

Но внутри уже есть политика corsStartup.cs в нашем API, и он выглядит так:

В методе ConfigureServices:

services.AddCors(options =>
{
    options.AddPolicy("AllowSpecificOrigin",
        builder => 
        builder.WithOrigins("http://localhost:4200/")
            .AllowCredentials()
            //.AllowAnyOrigin()
            .AllowAnyMethod()
            .AllowAnyHeader()
            .SetIsOriginAllowedToAllowWildcardSubdomains());
});

А внутри метода Configure:

app.UseCors("AllowSpecificOrigin");

В нашем клиентемы просто хотим установить связь между API и клиентом, и это так:

this.hubConnection.start({withCredentials: false}).then(() => 
     this.hubConnection.invoke('send', 'Hello'));
...