/ / редагування web.config - причина простою? - asp.net, iis, веб-конфігурація, час простою

редагування web.config - причина простою? - asp.net, iis, веб-конфігурація, час простою

На сайті, з яким ми працюємо, ми отримали два класизмін, які вони можуть просити. З одного боку, вони отримали речі, які мені доведеться перебудувати та перерозподіляти. Вони враховують це як зміни в режимі простою, тому що ми показуємо приємний маленький екран, і ми ретельно перевіряємо сайт, коли ми повертаємось назад.

З іншого боку, вони просять нас зробити багатотекстові зміни, включення та вимкнення функцій тощо, які ми ізольовані до web.config. Ми пропонуємо зробити це як усередині, так і за межами вікна розгортання - ми просто відредагувати файл, перевірити правильність зміни та повернутися до роботи.

Але один з розумних хлопців на стороні клієнтазазначив, що редагування web.config перезавантажує пул додатків, і цей час простою там. Я ніколи не помітив, але я гадаю, що це правильно - поки пул додатків недоступний, програма "вниз".

Але як довго? Я не прошу вас простежити рівень комфорту клієнта з проміжками простою, але це загальна перспектива? Або ж ми не повинні турбуватися про те, що редагування web.config супроводжується другим або двома просторами роботи програми?

Відповіді:

3 для відповіді № 1

IIS звичайно повторно використовує пул додатків, і якщо ці переробки не змушують вас занепокоєння, цей раз це не слід.

Користувач не повинен отримувати будь-які "помилки сервісу недоступні", афайки.


5 для відповіді № 2

Все сказане на сьогоднішній день є правильним.

Однак існує спосіб уникнути цього простою, доки ваші значення, які ви тягнете, не кешуються.

Ви можете приєднати частину файлу .config до іншого файлу, який не зможе перезавантажити пул додатків.

Це виглядатиме так у файлі web.config:

<appSettings file="moresettings.config"></appSettings>

Тоді ваш зовнішній файл виглядатиме так:

<?xml version="1.0" encoding="utf-8" ?>
<appSettings>
<add key="SOMEKEY" value="MYVALUE"/>
</appSettings>

3 для відповіді № 3

Якщо ви "взагалі зацікавлені в простоі, і це трапляється дуже багато, я б розглянув можливість переміщення цих параметрів у базу даних.

Тим не менш, простій у вашому випадку буде мінімальним. Басейн додатків переробляється, коли ви Збережете файл web.config, і ми говоримо про мілісекунди.


2 для відповіді № 4

Як зазначалося, IIS справді переробляє App Pool. Це не так вже й погано, як це робити повний iisreset хоча - користувачі не повинні отримувати помилку "Сервіс недоступна", оскільки веб-сервер все ще онлайн і обслуговує requsts - потрібно просто зачекати, поки AppPool перезавантажиться, що означає, що Час відгуку для користувачів, які мають доступ до цього моменту, дуже високий. Це може бути, звичайно, проблема, якщо у вас є загальнодоступний веб-сайт і вимкнено відвідувачі.

Інші побічні ефекти від переробки AppPool такі ж, як iisreset: він звільняє кеш сесій InProc, якщо я не помиляюся і виконує подія Application_Start.

Так що, хоча це і є відносно нешкідливим, я б все одно вважав це простою.