У меня возникла проблема со службой приложений в среде служб приложений Azure (ASE) v2 с Web API 2 / .NET 4.7: URI запроса содержит точку в последнем фрагменте URI, а конечная точка возвращает 404, когдабудучи вызванным.
В локальной среде разработчика я смог исправить это, изменив файл web.config следующим образом:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="ApiURIs-ISAPI-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<remove name="WebDAV" />
<add name="ExtensionlessUrlHandler-Integrated-4.0"
path="*"
verb="*"
type="System.Web.Handlers.TransferRequestHandler"
preCondition="integratedMode,runtimeVersionv4.0" />
<add name="ApiURIs-ISAPI-Integrated-4.0"
path="*"
verb="*"
type="System.Web.Handlers.TransferRequestHandler"
preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
<directoryBrowse enabled="true" />
</system.webServer>
Было добавлено ApiURIs-ISAPI-Integrated-4.0
-Обработчик.
Как уже говорилось, это прекрасно работает локально, но при развертывании в службе приложений ASE это, кажется, игнорируется, и я все еще получаю 404.
В настоящее время, как обходной путь, яя добавляю завершающий /
в URI, но я должен исправить это для prod.