#asp.net-mvc-4 #signalr
#asp.net-mvc-4 #signalr
Вопрос:
Я использую SignalR в asp.net mvc для веб-api, и мне нужно включить cors в web.config.
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Methods" value="GET, PUT, POST, DELETE, HEAD, OPTIONS" />
<add name="Access-Control-Allow-Credentials" value="true"/>
<add name="Access-Control-Allow-Headers" value="X-Requested-With, origin, content-type, accept" />
Но когда я собираюсь подключиться к SignalR, он отображает следующую ошибку:
заблокирован политикой CORS: ответ на предполетный запрос не проходит проверку контроля доступа: значение заголовка ‘Access-Control-Allow-Origin’ в ответе не должно быть шаблоном ‘*’, когда режим учетных данных запроса ‘включает
Следует за кодом в startup.cs:
[EnableCors("CorsPolicy")]
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
Как я могу это исправить?
Ответ №1:
Как говорится в вашей ошибке:
Значение заголовка ‘Access-Control-Allow-Origin’ в ответе не должно быть шаблоном ‘*’.
И у вас есть:
<add name="Access-Control-Allow-Origin" value="*" />
Итак, в этом случае вы должны указать источник, откуда вы подключаетесь. Если вы пытаетесь подключиться из внешнего интерфейса, вы можете использовать это в качестве примера:
<add name="Access-Control-Allow-Origin" value="https://localhost:4200"/>