Що відбувається, коли я редагую web.config?


79

Мені потрібно відредагувати файл web.config у реальному середовищі Sharepoint, але я не впевнений, що станеться, якщо я це зроблю (я хочу вивести власні помилки).

Чи це призведе до переробки робочого процесу IIS6?

Чи втратять через це активні користувачі стан сеансу?

Або я можу сміливо редагувати файл?


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

Відповіді:


78

Пул програм перезапуститься, і стан сесії буде втрачено. Уявіть, що кожна програма ASP.NET (як визначено в IIS) є програмою на робочому столі. Збереження web.config зробить щось подібне до закриття програми та її повторного відкриття.


10
Не впевнений щодо IIS6, але в IIS7 та IIS8 це поведінка за замовчуванням , хоча ви можете змінити це через Пули програм> Додаткові параметри> Переробка> Вимкнути переробку для змін конфігурації = true, що корисно, наприклад, для виробничих середовищ, так що адміністратори можуть внести зміни, які не повинні вступати в силу до наступної переробки. У Sharepoint, зокрема, є спосіб запланувати зміни таким чином, щоб вони застосовувались у певний час, я вважаю.
нічого непотрібного

3
@nothingispotrebno Але, чи Application Pools > Advanced Options > Recycling > Disable recycling саме налаштування викликає переробку пулу програм? Черепахи аж донизу?
D'Arcy Rittich

1
Привіт @DanGoldstein. Ви згадуєте „ щось подібне ” до закриття програми та її повторного відкриття. А як щодо статичного стану? Чи забезпечується знищення статичного стану за допомогою редагування web.config? Причина в тому, що я кешую деякі матеріали web.config у статичних змінних.
Dirk Boer

Чесно кажучи, я більше не є хорошим джерелом інформації про це. Коли я відповів, я постійно використовував IIS та ASP.Net. У наш час я просто розробник програм для любителів.
Dan Goldstein

@DirkBoer Вся причина, по якій я тут, полягає в тому, щоб з’ясувати остаточну відповідь на ваше запитання. З мого досвіду, редагування web.config не впливає на статичні властивості.
Alex Dresko


9

Крім того, якщо стан сеансу налаштовано як поза процесом (база даних або послуга), то переробка пулу програм не втратить жодного стану сеансу. Це стосується як Sharepoint, так і ванільного ASP.Net.


2

Коли ви редагуєте web.config, він перезапустить AppDomain (НЕ AppPool) цієї веб-програми та очистить усі зайняті ресурси та пам'ять. Тож інші веб-програми, що працюють під цим пулом додатків, це не вплине. Також він очистить сеанси (in-proc) та кеш пам'яті.


1

Як вже згадували деякі люди: пул додатків сайту в IIS перезапуститься (зазвичай це займає пару секунд). Як результат, наступні запити на сторінку будуть повільнішими (оскільки більше нічого не буде кешуватися). Також буде втрачено стан сеансу користувачів; АЛЕ у стані сеансу WSS за замовчуванням не використовується, у MOSS він використовується InfoPath Form Services. Тож може бути, що у вас немає великих проблем, пов’язаних із втратою стану сесії.

З іншого боку; щоб подолати ці проблеми: зазвичай робиться створення SharePoint Solution (WSP), яке розгортає і запускає завдання таймера, щоб внести зміни до web.config із коду (використовуючи клас SPWebConfigModification об’єктної моделі). Приємно те, що ви можете запланувати виконання змін, тому ваші користувачі цього не помітять.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.