Как сказано в заголовке, я публикую API-интерфейс ASP.NET Core 3 для IIS. Когда я публикую этот API, система создаст файл веб-конфигурации в каталоге развертывания, содержащем это:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath=".\xxxxx.Api.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" />
</system.webServer>
</location>
</configuration>
<!--ProjectGuid: daddb75b-3c54-4970-8945-8404ade81fbc-->
Все в порядке, но я хочу добавить следующие три строки в систему Раздел .webServer , чтобы охватить проблему, описанную в этой ссылке: https://fantinel.dev/net-core-api-method-not-allowed-on-put-and-delete-requests/ Извлечение для объяснения:
В результате публикации .NET Core включает модуль WebDAVModule при публикации. , который отключает запросы PUT и DELETE по умолчанию.
Таким образом, чтобы получить глаголы PUT и DELETE, мы должны отключить этот WebDAVModule со следующими строками:
<modules runAllManagedModulesForAllRequests="false">
<remove name="WebDAVModule" />
</modules>
Есть ли способавтоматизировать включение этих строк в произведенный / опубликованный файл web.config? В решении VS я не вижу ни одного файла или параметра Web.Config для вывода результатов развертывания.
Спасибо всем за советы.