Настройки CORS не влияют на контроллеры AWS Lambda WebApi 2.0 в локальной среде разработки - PullRequest
0 голосов
/ 03 июля 2018

У меня очень специфическая проблема.

  1. Я занимаюсь разработкой WebAPI на основе AWS Lambda (.NET core 2.0) без сервера.
  2. Я добавил контроллер и все необходимые настройки CORS в Setup.cs.
  3. Мне удалось использовать API после всех вышеперечисленных шагов.
  4. Я добавил второй контроллер, и настройки CORS не дали результатов!
  5. Я пробовал несколько методов, таких как явное добавление EnableCors к контроллерам и добавление перехватчика для OPTIONS, но опять-таки безрезультатно.
  6. Я удалил дополнительный контроллер, и все вернулось в норму (CORS дает эффект).

Есть ли ограничение на CORS и количество контроллеров в одной лямбда-функции для ядра .NET?

Редактировать 1: добавление сегментов кода для лучшей иллюстрации

В ConfigureServices

var origins = Configuration.GetSection("AllowedCORS").AsEnumerable().Select(x => x.Value);
services.AddCors(o => o.AddPolicy("AllOrigins", builder =>
{
    builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader();
}));

Затем в Configure

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    app.UseCors("AllOrigins");
    app.UseAuthentication();
    app.UseMvc();          
}

1 Ответ

0 голосов
/ 04 июля 2018

Мне удалось решить проблему, вручную добавив обработчик параметров в контроллер и вернув 200 OK.

Лямбда позволяет пользователям включать CORS, но по какой-то причине этот метод не работает для меня (слишком много ошибок во время установки)

В настоящее время я ограничиваю одну лямбда-функцию одним контроллером, что дает мне свободу изменять только определенный набор API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...