Редактировать используемый файл без сброса IIS - PullRequest
0 голосов
/ 28 января 2011

Среда: .net 2.0, Windows Server 2005.

У меня проблема: у меня есть веб-сайт с большим трафиком, поэтому один из моих XML-файлов всегда открывается функцией документа (...) (внутри шаблона xslt).

Итак: как я могу обновить этот XML-файл без перезагрузки сервера? Или, может быть, как я могу применить стратегию кэширования к функции document (...), чтобы она не загружала файл каждый раз, когда это необходимо, и обновляла кэш при изменении файла.

Спасибо

1009 * Рэй *

1 Ответ

0 голосов
/ 28 января 2011

Самый простой способ - заставить приложение загрузить содержимое файла в память, а затем снять блокировку файла.

Стадия 2 будет состоять в том, чтобы вносить изменения через одно и то же приложение, чтобы оно могло сохранить файл, уничтожить кэшированный объект и использовать последнюю версию.

Вы могли бы просто реализовать Стадию 1, и срок действия версии в памяти истекал через заданные интервалы, что уменьшило бы конкуренцию за файл - но была бы вероятность, что он попытается прочитать файл, пока он заблокирован внешним процесс редактирования и наоборот - просто гораздо меньше шансов, чем если вы сохраните файл. Вы можете улучшить это, попытавшись прочитать FileInfo, чтобы увидеть, изменилось ли оно с момента загрузки - любые проблемы с чтением FileInfo должны привести к тому, что версия в памяти не будет уничтожена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...