В нашем проекте у нас есть серверная часть ASP.Net Core Web API и внешний интерфейс Angular 5. В режиме разработки Angular Page будет работать на своем собственном сервере (используя узел, например localhost: 8000). Следовательно, доступ к локальному экземпляру API (например, localhost: 57612) будет запросом из разных источников.
CORS правильно настроен для API, и в успешном случае проблем нет. Кроме того, я включил app.UseDeveloperExceptionPage()
в API, чтобы получить хорошие трассировки стека на случай, если что-то пойдет не так.
Однако Asp.Net only возвращает подробности ошибки / трассировки стека (как HTML в теле ответа об ошибке), когда запрос был отправлен из того же источника (то есть localhost: 57612 в приведенном выше примере) , Поэтому в наших настройках разработки мы не получаем это тело ответа об ошибке, мы ничего не получаем.
Я не нашел способа отправить страницу ошибки разработчика в ответ на ошибочный перекрестный запрос. В Asp.Net 5 + IIS в IIS была настройка, в которой можно было конкретно управлять этим поведением . Кто-нибудь знает, как контролировать это поведение в ядре Asp.Net?
(Я думаю, что я мог бы реализовать обходной путь в виде специального обработчика ошибок ASP.Net, который будет возвращать все детали исключения, такие как Страница исключений для разработчиков. Но это немного глупо, переопределять эту функциональность.)