При работе с базами данных 1С через веб-сервер Microsoft IIS специалисты часто сталкиваются с ситуацией, когда веб-клиенты начинают работать нестабильно: возникают внезапные завершения сеансов, ошибки отображения интерфейса или проблемы с загрузкой конфигурации. Одной из неочевидных причин такого поведения является накопление или повреждение кэша на стороне веб-сервера. В этой статье мы подробно разберем, где именно IIS хранит временные данные, как они связаны с 1С и какую последовательность действий нужно выполнить, чтобы полностью «обнулить» состояние веб-сервера для устранения программных сбоев.
Для начала проанализируем ситуацию: когда пользователь подключается к базе через браузер, веб-сервер выступает посредником между клиентом и сервером приложений 1С. В этом процессе задействовано несколько уровней кэширования. Ошибка может скрываться как в системных папках пользователя, под которым запущен процесс IIS, так и в специализированных модулях сжатия или кэширования вывода. Рассмотрим подробнее каждый из этих уровней.
Это самое критичное место, о котором часто забывают. Веб-сервер IIS запускает процессы для каждой опубликованной базы от имени определенной учетной записи. Чаще всего это ApplicationPoolIdentity, NetworkService или специально созданный локальный пользователь. У этой учетной записи есть свои папки Temp, где 1С хранит временные файлы сессий и данные расширений.
Рассмотрим, где искать эти файлы. Если используется системная учетная запись, проверьте пути:
C:\Windows\Temp\
C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp\
Если для пула приложений назначена конкретная учетная запись пользователя, путь будет иным:
C:\Users\Имя_Пользователя_Пула\AppData\Local\Temp\
Проанализируем ситуацию: если в этих папках скапливаются сотни тысяч мелких файлов, механизм работы 1С с временными данными начинает тормозить, что приводит к таймаутам и вылетам веб-клиентов. Очистка этих директорий при остановленной службе веб-сервера — первый шаг в диагностике.
Веб-сервер IIS оптимизирует передачу данных, сжимая статические файлы (такие как скрипты .js, стили .css и изображения интерфейса 1С). Чтобы не тратить ресурсы процессора на сжатие одних и тех же файлов при каждом запросе, IIS сохраняет их сжатые копии на диске.
Выясним, где находится этот кэш. По умолчанию это директория:
%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files
Разберем, почему это важно. При обновлении платформы 1С или внесении изменений в конфигурацию, старые сжатые файлы могут конфликтовать с новыми запросами. Если файл в этом кэше повредится, браузер клиента получит битый скрипт, и веб-клиент «вылетит» с ошибкой типа v8Config is not defined.
Хотя 1С использует собственный модуль расширения (ISAPI или HTTP-модуль), архитектура IIS тесно переплетена с .NET Framework. В некоторых случаях, особенно при использовании интеграций или специфических компонентов веб-сервера, задействуются папки временных файлов ASP.NET.
Путь для 64-битных систем обычно следующий:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\
Очистка этой папки помогает в случаях глубоких системных сбоев, когда стандартные методы перезапуска пулов не дают результата.
В консоли управления IIS существует раздел «Выходной кэш» (Output Caching). Этот модуль может хранить ответы сервера в оперативной памяти. Для динамических данных 1С (данных форм, документов) он обычно не применяется, но может кэшировать служебные ответы веб-компонентов. Сброс этого кэша осуществляется либо через команду полной перезагрузки веб-сервера, либо вручную в оснастке IIS для конкретного сайта.
Рассмотрим еще один важный элемент — файл default.vrd. Формально он не является кэшем, но в нем хранятся параметры сеанса. Обратите внимание на параметр reuseSessions. Если в работе веб-клиента наблюдаются аномалии с «вылетами», попробуйте переопубликовать базу из конфигуратора. Это перезапишет default.vrd и устранит возможные логические ошибки в параметрах подключения.
Нельзя забывать, что значительная часть «кэша 1С» живет непосредственно в браузере пользователя. Платформа 1С загружает в браузер тяжеловесный программный каркас. Если на сервере обновилась платформа, а браузер пытается использовать старые файлы из своего локального хранилища, произойдет сбой.
Для решения этой проблемы на стороне клиента мы рекомендуем:
Выясним наиболее эффективную последовательность действий для системного администратора. Просто нажать «Restart» в консоли IIS часто недостаточно, так как файлы на диске остаются нетронутыми. Выполним следующие шаги:
iisreset /stop
C:\Windows\Temp\ (пропуская занятые системой файлы) и папки Temp конкретного пользователя пула приложений.%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files
(Саму папку оставьте, удалите только вложенные папки с именами пулов).
Temporary ASP.NET Files.iisreset /start
Recycling (например, раз в сутки ночью), чтобы предотвратить чрезмерное разрастание временных данных в будущем.Соблюдение этой последовательности позволяет гарантированно исключить влияние «битого» кэша веб-сервера на стабильность работы 1С:Предприятия через веб-клиент.