Как обновить ASP.Net сайт DLL без остановки сайта - PullRequest
5 голосов
/ 21 октября 2009

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

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

1 Ответ

9 голосов
/ 21 октября 2009

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

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

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

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

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

Session.Timeout = 5;

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

Не стесняйтесь читать эту статью , чтобы узнать, как все делается.

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

...