«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Почему я получаю ответ 405 «Метод не разрешен» при включении CORS в IIS7?

Почему я получаю ответ 405 «Метод не разрешен» при включении CORS в IIS7?

Опубликовано 23 декабря 2024 г.
Просматривать:938

Why Am I Getting a 405 Method Not Allowed Response When Enabling CORS on IIS7?

Включение совместного использования ресурсов между источниками (CORS) в IIS7

Включение CORS в IIS7 может оказаться сложной задачей, особенно если вы столкнулись с непредвиденными такое поведение, как ответ 405 перед ответом 200. Цель этой статьи — пролить свет на эту проблему и предложить эффективные решения.

Обработка ответа 405

Ответ 405 Method Not Allowed может возникнуть, когда IIS7 перехватывает HTTP OPTIONS запрос вместо вашего заявления. Чтобы решить эту проблему:

  1. Перейдите в раздел «Сопоставления обработчиков» в IIS7.
  2. Найдите запись «OPTIONSVerbHandler».
  3. Измените параметр «ProtocolSupportModule» на «IsapiHandler». ."
  4. Установить исполняемый файл как «%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll».

Альтернативное решение: обработка команды OPTIONS в BeginRequest

If приведенные выше шаги не решают проблему, вы можете обработать глагол HTTP OPTIONS в своем методе BeginRequest как следует:

protected void Application_BeginRequest(object sender, EventArgs e)
{
    HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");

    if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
    {
        // Pre-flight OPTIONS call
        HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE");
        HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept");
        HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000");
        HttpContext.Current.Response.End();
    }
}
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3