Использование app_offline.htm, чтобы перевести приложение в автономный режим при обновлении DLL, не удается при обновлении DLL - PullRequest
5 голосов
/ 17 сентября 2010

Поэтому я иногда использую app_offline.htm, чтобы перевести приложение в автономный режим, пока загружаю новую версию.

Однако, пока я загружаю большие библиотеки DLL, я получаю желтый экран с сообщением о невозможности загрузки библиотеки DLL.

Похоже, это не соответствует моим ожиданиям относительно того, что делает app_offline.htm (полностью останавливает приложение), а также предоставляет пользователям ошибки вместо красивого app_offline.htm, который я установил.

Я что-то не так делаю или это поведение по своему замыслу?

alt text

1 Ответ

4 голосов
/ 17 сентября 2010

app_offline.htm завершает работу приложения, но не полностью останавливает компилятор.

Итак, при первой загрузке dll, которую вы загрузили, компилятор видит другое и снова запускает компиляцию ... поэтому, когда вы пытаетесь найти следующую dll, она, вероятно, используется компиляцией и не может быть удалена / заменена.

Существует также вероятность того, что даже если вы попросите закрыть приложение, все равно создайте процесс и используйте эту DLL.

Что я делаю, я загружаю все файлы на сервер в другой каталог, открываю app_offline.htm, затем жду закрытия всего пула (у меня есть сообщение в конце приложения), а затем копирую из на сервере все файлы обновлений быстро. Разница в том, что с помощью ftp время загрузки больше, чем время, которое запускает компилятор для перекомпиляции глобальных функций из dll.

Чтобы увидеть, что даже с app_offline.htm система все еще делает компиляции, просто используйте Process Explorer и посмотрите компиляции.

Что такое компиляция? Я думаю, что компилировать dll, за исключением страниц.

Сообщение пришло от компилятора, который пытается скомпилировать программу, из первой dll, которую вы загрузили, компилятор запускается и начинает новую компиляцию, теперь вы загружаете следующую, и пока вы пытаетесь сделать компилировать, dll заблокирована ftp.

...