Как включить запросы PUT в Azure?

Я создаю REST API на Azure, но когда я пытаюсь получить доступ к конечной точке через метод PUT, я получаю статус HTTP 405 "Method Not Allowed" вместе с сообщением об ошибке IIS:

Страница, которую вы ищете, не может быть отображена, потому что используется недопустимый метод (HTTP-глагол).

Как включить метод PUT и другие методы, которые по умолчанию могут быть заблокированы настройками конфигурации Azure по умолчанию?

Я попытался добавить файл web.config в корень моего приложения с allowUnlisted, установленным в true в элементе глаголов:

 <?xml version="1.0" encoding="utf-8"?> <configuration> <system.webServer> <security> <requestFiltering> <verbs applyToWebDAV="false" allowUnlisted="true" /> </requestFiltering> </security> </system.webServer> </configuration> 

Это ничего не изменило.

Я парень с открытым исходным кодом, поэтому мир IIS мне незнакомо. Любая помощь приветствуется.

Благодаря!

Related of "Как включить запросы PUT в Azure?"

Добавьте в web.config system.webServer элемент system.webServer :

 <handlers> <remove name="PHP54_via_FastCGI" /> <add name="PHP54_via_FastCGI" path="*.php" verb="GET, PUT, POST, HEAD, OPTIONS, TRACE, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK" modules="FastCgiModule" scriptProcessor="D:\Program Files (x86)\PHP\v5.4\php-cgi.exe" resourceType="Either" requireAccess="Script" /> </handlers> 

Это работает для встроенных версий PHP, текущим значением по умолчанию является PHP 5.4, но если вы выбрали PHP 5.3 или PHP 5.5, вам нужно будет изменить путь обработчика php-cgi.

Добавьте это в свой web.config/system.webServer :

 <handlers> <remove name="ExtensionlessUrl-Integrated-4.0" /> <add name="ExtensionlessUrl-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,DELETE,PUT" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> </handlers> 

или вместо указания того, какие глаголы разрешены, скажем, verb="*" чтобы разрешить все глаголы.