У меня есть CORS на месте и работает.Это означает, что я не получаю ошибок CORS на GET или POST.Все мои запросы принимаются на сервере, а их ответы - на клиенте.
То есть, ЕСЛИ не происходит исключение в Web API.Затем вместо получения сведений об исключении я получаю ошибку CORS.Таким образом, клиент не может видеть сведения об исключении.
Не удалось загрузить http://localhost:64630/api/sql/familiesCollection/create: Нет заголовка «Access-Control-Allow-Origin» в запрошенном ресурсе.Происхождение 'http://localhost:4200' поэтому не допускается.Ответ имеет HTTP-код состояния 500.
Вот метод Configure в моем классе запуска:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseCors(builder => builder
.AllowAnyHeader()
.AllowAnyOrigin()
.AllowAnyMethod());
app.UseMvc();
}
Если запрос CORS принят и ответ CORS принят обратно,почему сведения об исключениях в случае ошибки также не принимаются клиентом?
Обновление ... Я реализовал более подробную версию в соответствии с предложением Маркуса;но безрезультатно.По-прежнему возникает та же самая ошибка CORS только в одном случае попытки вернуть данные ошибки в ответе 500, когда в Web API возникает необработанное исключение.
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(o => o.AddPolicy("AllowAllPolicy", builder =>
{
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader();
}));
services.AddMvc();
services.AddOptions();
services.Configure<AppConfig>(Configuration.GetSection("AppConfig"));
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseCors("AllowAllPolicy");
app.UseMvc();
}
И затем в моем классе контроллера:
[EnableCors("AllowAllPolicy")]
public class SqlApiController
{
:
Ничего из этого не помогает.CORS работает до тех пор, пока в Web API не возникнет исключение.Затем я получаю это вместо информации об исключении из 500:
Не удалось загрузить http://localhost:64630/api/sql/familiesCollection/create: Нет заголовка «Access-Control-Allow-Origin» на запрошенном ресурсе.Origin 'http://localhost:4200' поэтому не допускается.Ответ имеет HTTP-код состояния 500.