405 StatusCode из PUT или DELETE на ASP.Net Core 2.0 в IIS - PullRequest
0 голосов
/ 11 мая 2018

Здесь много сообщений об этой проблеме, но ни один из них, похоже, не работает для нас.Мы получаем код состояния 405 из приложения dotnet 2.0 только из IIS.Мы создали то же приложение и нацелены на Ubuntu 16.04 без проблем.

Популярное исправление, по-видимому, заключается в изменении файла web.config и добавлении следующего:

  <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <system.webServer>
        <modules>
          <remove name="WebDAVModule"/>
        </modules>
         etc.....

Однако это вызываетвнутренняя ошибка сервера 500.

Мы также пытались:

 <?xml version="1.0" encoding="utf-8"?>
   <configuration>
     <system.webServer>
       <handlers>
         <remove name="WebDAV"/>
  etc......

И это приводит к тому же 405 коду состояния.Мы также попробовали:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <security>
      <requestFiltering>
        <verbs allowUnlisted="false">
          <add verb="GET" allowed="true" />
          <add verb="POST" allowed="true" />
          <add verb="DELETE" allowed="true" />
          <add verb="PUT" allowed="true" />
        </verbs>
      </requestFiltering>
    </security>
   etc...

Это также не удалось.
Мы попытались создать приложение для .net Core 1.1 также без особой радости (проверили, является ли проблема версией .Core).

После каждого изменения мы выполняли командную строку

iisreset

, чтобы убедиться, что все кэшированные настройки «в памяти» были очищены.Мы также пытались каждый раз перезагружать сервер.

Все эти попытки заканчиваются неудачей .... мы все равно получаем 405.

Мы почти уверены, что это проблема IIS, так как приложение работает нормальнов Ubuntu, но наша производственная серверная ферма - все Win / IIS, поэтому мы ДОЛЖНЫ заставить это работать.

Мой ожидаемый обходной путь - это кодирование наших контроллеров без глаголов DELETE или PUT;изменив все на GET и POST.

Кто-нибудь еще может взломать этот орех?

Заранее спасибо.

1 Ответ

0 голосов
/ 11 мая 2018

Не совсем точно, почему, но мы удалили экземпляр IIS на сервере и переустановили его ТОЛЬКО с обработчиком ядра dotnet.

Сайт теперь работает как положено.

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