Я создал веб-API ASP.NET Core 1.1, который используется приложением Angular2 (IONIC). В начале проекта мы получали ошибки CORS, которые после некоторых модификаций веб-API мы смогли устранить. Сегодня утром я обновил наш живой веб-API с некоторыми изменениями, которые я сделал за последнюю неделю, и по той или иной причине мы снова получаем ошибку CORS (когда приложение Angular использует живой веб-API - оно отлично работает, когда мы подключаемся к Веб-API, работающий на моем локальном хосте с другого ПК в локальной сети). Ошибка:
XMLHttpRequest не может загрузить http://inspections.propworx.co.za/api/inspections < / а>. Ответ на предполетный запрос не проходит проверку контроля доступа: на запрошенном ресурсе отсутствует заголовок Access-Control-Allow-Origin. Следовательно, к источнику 'http://192.168.1.100:8100' доступ запрещен.
В моем Web API Startup.cs есть следующее:
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("SiteCorsPolicy",
builder => builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials());
});
...
}
и это:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
app.UseCors("SiteCorsPolicy");
...
}
В обоих случаях они находятся перед services.AddMvc () и app.UseMvc соответственно. Но все равно не работает. Я пробовал добавить
services.Configure<MvcOptions>(options =>
{
options.Filters.Add(new CorsAuthorizationFilterFactory("SiteCorsPolicy"));
});
в ConfigureServices сразу после services.AddCors, но безрезультатно. Я пробовал добавить:
[EnableCors("SiteCorsPolicy")]
в верхнюю часть моих контроллеров, но тоже не помогло.
Это сработало, и я не знаю, что я мог сделать, но сейчас это не работает: / Есть идеи у кого-нибудь? Спасибо...