@stcmd04236

Как правильно настроить CORS в WebApi?

Добрый вечер! Есть маленький проект который реализован на Asp NET WebApi. Чтобы включить поддержку кроссдоменных запросов установил CORS. В заголовках все нормально. Но вот если отправить запрос OPTIONS выдает ошибку 405.

public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            // Конфигурация и службы Web API
            // Настройка Web API для использования только проверки подлинности посредством маркера-носителя.
            config.SuppressDefaultHostAuthentication();
            config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));

            // Маршруты Web API
            config.MapHttpAttributeRoutes();

            // кроссдоменные запросы
            var cors = new System.Web.Http.Cors.EnableCorsAttribute ( "*", "*", "*" );
            config.EnableCors ( cors );

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
        }
    }
  • Вопрос задан
  • 1020 просмотров
Пригласить эксперта
Ответы на вопрос 1
@kvasek
Привет у меня была похожая проблема, мне помогло только одно ручками прописать CORS в Web.config

<configuration>
  ...
  <system.webServer>
    ...
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
        <add name="Access-Control-Allow-Methods" value="DELETE, GET, HEAD, OPTIONS, POST, PUT" />
        <add name="Access-Control-Allow-Headers" value="Accept, Authorization, Content-Type, Origin, X-Requested-With" />
      </customHeaders>
    </httpProtocol>
  </system.webServer>
</configuration>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы