ApplicationHost.xdt в веб-приложениях Azure
Как изменить applicationHost.config в веб-приложении Azure? Я попробую:
using (ServerManager serverManager = new ServerManager())
{
Microsoft.Web.Administration.Configuration config = serverManager.GetApplicationHostConfiguration();
Microsoft.Web.Administration.ConfigurationSection webLimitsSection = config.GetSection("system.applicationHost/webLimits");
webLimitsSection["connectionTimeout"] = TimeSpan.Parse("00:00:10");
webLimitsSection["dynamicIdleThreshold"] = 150;
webLimitsSection["headerWaitTimeout"] = TimeSpan.Parse("00:00:10");
webLimitsSection["minBytesPerSecond"] = 500;
serverManager.CommitChanges();
}
Но поймать исключение:
Имя файла: \?\D:\Windows\system32\inetsrv\config\applicationHost.config Ошибка: невозможно записать файл конфигурации из-за недостаточных разрешений
1 ответ
Способ сделать это - использовать XML Document Transforms (XDT), на который есть ссылка здесь.
Для вашего сценария создайте файл с именем applicationhost.xdt, который содержит следующее:
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.applicationHost>
<webLimits xdt:Transform="SetAttributes(connectionTimeout)"
connectionTimeout="00:00:10" />
<webLimits xdt:Transform="SetAttributes(dynamicIdleThreshold)"
dynamicIdleThreshold="150" />
<webLimits xdt:Transform="SetAttributes(headerWaitTimeout)"
headerWaitTimeout="00:00:10" />
<webLimits xdt:Transform="SetAttributes(minBytesPerSecond)"
minBytesPerSecond="500" />
</system.applicationHost>
</configuration>
Затем, используя FTP-клиент (я использовал FileZilla), скопируйте его в папку сайта (не wwwroot) для вашего веб-приложения.
Наконец, перезапустите веб-приложение, которое вы можете сделать на портале Azure.
Вы можете проверить, применяются ли изменения, используя расширение сайта Kudu. После входа в Kudu перейдите в окно Debug Console (CMD) и перейдите в папку Logfiles, а затем в папку Transform.
В папке Transform вы увидите файл "*scm.log", который покажет преобразования. Это должно выглядеть примерно так.