У меня два приложения работают локально.один - веб-сервис на https://localhost:44365
, другой - веб-приложение на https://localhost:44360
.Веб-приложение должно иметь доступ к веб-службе.
Для веб-службы настроена политика cors, которая должна это разрешать:
// For running on local pc
services.AddCors(options =>
{
options.AddPolicy("CorsPolicy",
builder => builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials());
});
...
app.UseCors("CorsPolicy");
app.useMvc();
...
}
Когда я запускаю оба приложения и нажимаю на веб-приложение в своем браузере, я получаю ошибки перекрестного источника:
Не удалось загрузить https://localhost:44365/api/users/current/avatarText: Нет заголовка 'Access-Control-Allow-Origin' в запрашиваемом ресурсе.Происхождение 'https://localhost:44360' поэтому не разрешено.Ответ был HTTP-код состояния 500.
Заголовки из службы (на 44365) были:
access-control-allow-credentials: true
access-control-allow-headers: content-type
access-control-allow-origin: https://localhost:44360
Как ни странно, я также показываю 500 ошибок сервера в методеобсуждаемый.Хотя, когда приложение (44360) вызывает его, я могу пройти по методу (в 44365), и в этом методе нет 500.Я могу назвать это успешно, когда вызов не является перекрестным источником.