Автоматическая настройка Application Pool в Windows Azure Web Role

Для чего может потребоваться изменить настройки по умолчанию? Например, если при старте выполняется операция по скачиванию файла из блоба на 100Гб, что занимает несколько минут, то запуск вашего пула подвисает. А так как есть настройка его пингования раз в полторы минуты, то управляющий IIS может решить что запуск провалился и прервать передачу данных, убив процесс и запустив новый, который опять подвиснет при попытке скачать большой файл. Выход следующий.
1. Добавьте управляющую библиотеку - Add Microsoft.Web.Administration DLL to the project reference. (Path of Microsoft.Web.Administration DLL: C:\Windows\System32\inetsrv).

2. Установите ее копирование - Set Copy local property of the above DLL to true. (Right click on the DLL -> properties -> copy local = true)

3. Для изменения настроек нужны специальные привилегии, которые даются - Run the WebRole in elevated execution context. (Add the below tag in servicedefinition.csdef file to run the code in elevated privileges)
Runtime executionContext="elevated"

4. В функцию OnStart() запуска роли вставляем следующий код:

Copy Source | Copy HTML
  1. /// <summary>
  2. /// Запуск роли
  3. /// </summary>
  4. /// <returns></returns>
  5. public override bool OnStart()
  6. {
  7.     try
  8.     {
  9.         ConfigureAzureDiagnostics();
  10.         ServerManager iisManager = new ServerManager();
  11.         //iisManager.ApplicationPoolDefaults.ProcessModel.PingingEnabled = false;//запрещаем пинги! НО ТАК НЕЛЬЗЯ
  12.         iisManager.ApplicationPoolDefaults.ProcessModel.PingResponseTime = TimeSpan.FromMinutes(20);
  13.         iisManager.ApplicationPoolDefaults.ProcessModel.PingInterval = TimeSpan.FromMinutes(5);
  14.         iisManager.ApplicationPoolDefaults.ProcessModel.StartupTimeLimit = TimeSpan.FromMinutes(20);
  15.         iisManager.ApplicationPoolDefaults.QueueLength = 3000;
  16.         //iisManager.ApplicationPoolDefaults.Recycling.PeriodicRestart.Schedule.Clear();
  17.         //iisManager.ApplicationPoolDefaults.Recycling.PeriodicRestart.Schedule.Add(TimeSpan.FromHours(8));
  18.         iisManager.CommitChanges();
  19.         Trace.WriteLine("Role Started!");
  20.     }
  21.     catch (Exception e1)
  22.     {
  23.         Trace.Write(e1);
  24.     }
  25.     return base.OnStart();
  26. }

5. PS: Отмечу, что полностью отключать функцию пингования ни в коем случае нельзя, так как тогда все портальные сервисы азура будут говорить об неопределенном статусе инстанса, что поставит вас в тупик.

Метки:   Категории:microsoft | Code


blog comments powered by Disqus

Добавить комментарий

Кто я?

Программист. Я слежу за блогосферой и знаю, как будет развиваться интернет. Когда у меня есть время я даже прилагаю для этого усилия. Подробнее

Последние комментарии

Не отображать

Topbot at FeedsBurner

Облако тэгов

Мои Твиты

Twitter мая 25, 17:18
Рейтинг каналов и ботов Телеграм http://dlvr.it/QV5d6Y

Twitter мая 25, 16:12
Пример божественного вмешательства в фильме No country for old men http://dlvr.it/QV5HxB https://twitter.com/f1ashr/status/1000046919136067586/photo/1

Twitter мая 25, 15:06
Танцы человека с роботом http://dlvr.it/QV4y0p

Twitter мая 25, 13:30
роботы пишут жалобы http://dlvr.it/QV4QQG

Twitter мая 25, 09:43
Шахматная композиция для демонстрации 3-го этапа общества http://dlvr.it/QV3G9p https://twitter.com/f1ashr/status/999948953805180928/photo/1

Twitter мая 25, 09:11
Hoverbike for US Army http://dlvr.it/QV3674

Twitter мая 25, 08:07
Google AdWords купон на 1600p http://dlvr.it/QV2pMz

Twitter мая 25, 08:07
Соц.медиа http://dlvr.it/QV2pNR

Twitter мая 25, 08:07
Мониторинг соц.сетей на госзакупках - 5 http://dlvr.it/QV2pP3

Twitter мая 24, 16:21
Казахстан переходит на 2-й этап к демократии http://dlvr.it/QTz5QX

Twitter мая 24, 03:31
Проблемы восприятия информации людишками http://dlvr.it/QTvLgN

Twitter мая 23, 14:09
Поиск причины популярности спиннеров http://dlvr.it/QTqqGv https://twitter.com/f1ashr/status/999291326867820545/photo/1

Twitter мая 23, 13:37
Программа InstagramLiker обновлена http://dlvr.it/QTqdn2

Twitter мая 22, 17:51
Про найм вконтактика http://dlvr.it/QTkc7x

Twitter мая 22, 17:19
Этой осенью "A New Beginning for Mankind.." http://dlvr.it/QTkSGQ https://twitter.com/f1ashr/status/998976610354151424/photo/1

Twitter мая 22, 16:47
В Ступино напечатали первый 3D дом http://dlvr.it/QTkGv5

Twitter мая 22, 15:11
коломенский кремль: альтернативная история 2 http://dlvr.it/QTjlrg https://twitter.com/f1ashr/status/998944561769541634/photo/1

Twitter мая 22, 15:11
Яндекс атаковал Израиль http://dlvr.it/QTjlr0

Twitter мая 22, 14:38
"Добродел" добавлен в http://t30p.ru http://dlvr.it/QTjYqX

Twitter мая 22, 14:38
Перенос коллапса товарооборота в Беларуси на 2018 год http://dlvr.it/QTjYr6

Мой твиттер

Копирайт

Все мысли, высказанные в блоге, являются моим мнением и за это мнение меня никто не забанит! Кроме того, никто не имеет право копировать материалы блога без использования ctrl+C/V!

© Copyright 2008