2009-10-21 1 views
4

Возможно ли обновить dll сайта для предварительно скомпилированного сайта без остановки IIS.Как обновить dll сайта ASP.Net без остановки сайта

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

+0

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

ответ

9

даже если ты не прекратишь, любые изменения в файл web.config, папку BIN, App_Data или App_Code заставит .NET компилятор выполнять ...

и вы потеряете все переменные сессии в Память.

Что я делаю, чтобы использовать состояния сеанса в SQL режиме и если ваша система настроена таким образом, пользователь будет оставаться на месте (после длительной экспозиции на перезагрузки страницы)

. NET все равно вызовет компилятор для компиляции нового набора инструкций, но в скором времени все сеансы будут прочитаны с SQL Server и потому, что они все еще там (и не потеряны с обновлением памяти), пользователи останутся на веб-сайте с текущими учетными данными.

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

Session.Timeout = 5; 

их конфигурация машины перекроет все, что вы делаете, с SQL состояния сеанса, вы сможете установить время, как это все сделано SQL Server.

Оказалось свободным читать this article, чтобы знать, как все сделано.

Надеюсь, это поможет.

+0

Теперь ваша ссылка не работает. – krlzlx

+0

@krlzlx [прочитайте этот ответ] (http://stackoverflow.com/a/1451942/28004), он скажет то же самое и даст вам хорошую запись обо всех действиях – balexandre

+0

@balexandre как насчет использования ssd для хранения учетных данных на сервер sql и диск для другого хранилища данных –

Смежные вопросы