Настройка CORS для метода PUT - PullRequest
0 голосов
/ 05 июля 2018

Я пытаюсь настроить Web.API для CORS. Метод GET успешно работает, но не PUT по какой-то причине.

Не удалось загрузить https://localhost:44399/api/Person/032342: Ответ на предполетный запрос не проходит проверку контроля доступа: Нет Заголовок «Access-Control-Allow-Origin» присутствует в запрошенном ресурс. Происхождение 'https://localhost:44300' поэтому не допускается доступ. Ответ имеет HTTP-код состояния 404.

У меня есть следующий код в WebApiConfig.cs

  config.MessageHandlers.Add(new CorsHandler());

Если я добавлю строку

 config.EnableCors(new EnableCorsAttribute("*", "*", "*"));

Я получу следующую ошибку

Не удалось загрузить https://localhost:44399/api/Person/032342: Заголовок 'Access-Control-Allow-Origin' содержит несколько значений '*, https://localhost:44300', но разрешен только один. происхождения 'https://localhost:44300', поэтому запрещен доступ.

Я пытался следовать предложениям, но безуспешно:

Заголовок 'Access-Control-Allow-Origin' содержит несколько значений

Есть идеи, почему он жалуется на множественные значения?

Я также попытался включить следующее в Global.asax.cs, но безуспешно.

protected void Application_BeginRequest(Object sender, EventArgs e)
        {
            if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
            {
                HttpContext.Current.Response.AddHeader("Cache-Control", "no-cache");
                HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, HEAD,OPTIONS,POST,PUT");

                HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000");
                HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization, useXDomain");


                HttpContext.Current.Response.End();

                //HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");
                //HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept");
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...