Что происходит, когда я редактирую web.config?
Мне нужно отредактировать файл web.config в живой среде Sharepoint, но я не уверен, что произойдет, если я это сделаю (я хочу вывести пользовательские ошибки).
Это приведет к переработке рабочего процесса IIS6?
Из-за этого будут ли активные пользователи потерять свое состояние сеанса?
Или я могу безопасно редактировать файл?
Ответы
Ответ 1
Пул приложений перезапустится, и состояние сеанса будет потеряно. Представьте, что каждое приложение ASP.NET(как определено в IIS) представляет собой программу на рабочем столе. Сохранение web.config будет делать что-то подобное закрытию программы и повторному ее открытию.
Ответ 2
Ответ 3
Кроме того, если состояние сеанса настроено как внепроцесс (база данных или служба), то повторная утилизация пула приложений не потеряет состояние сеанса. Это справедливо и для Sharepoint, как для ванильного ASP.Net.
Ответ 4
Когда вы редактируете файл web.config, он перезапускает домен приложений (НЕ AppPool) этого веб-приложения и очищает все занятые ресурсы и память. Таким образом, другие веб-приложения, работающие в этом пуле приложений, не будут затронуты. Также он очистит сессии (in-proc) и кэш-память.
Ответ 5
Как уже упоминалось некоторыми людьми: пул приложений сайта в IIS перезапустится (обычно это занимает пару секунд). В результате следующий запрос следующей страницы будет медленнее (поскольку ничего больше не будет кэшировано). Также будет потеряно состояние сеанса пользователей; НО в состоянии сеанса WSS по умолчанию не используется, в MOSS используется InfoPath Form Services. Поэтому может быть, что у вас нет больших проблем, связанных с потерей состояния сеанса.
С другой стороны; для решения этих проблем: обычно выполняется создание SharePoint Solution (WSP), которое развертывает и запускает задание таймера, чтобы внести изменения в web.config из кода (используя класс SPWebConfigModification Объектной модели). Приятно, что вы можете запланировать выполнение изменения, поэтому ваши пользователи не заметят его.
Ответ 6
Если у вас есть мысли по редактированию веб-конфигурации, загляните в класс SPWebConfigModification.