Как только вы сделаете такое изменение, вы фактически изменили зависимость. Сайт необходимо будет перекомпилировать в папки теневого копирования ASP.NET.
Обновление:
Исходя из вашего комментария: Что, если кто-то покупает и товар на сайте электронной коммерции в то же время новые обновления были выпущены? Это одна из моих ошибок .NET (одна вещь, которую мне не хватает в php, - это простая загрузка файлов PHP без хлопот)
Если у вас есть только один сервер, вам нужно спланировать свои обновления и заранее предупредить, что сайт будет недоступен из-за обновления. В ASP.NET есть функция под названием App_Offline.htm
. Это специальная страница, которая, когда она присутствует в вашем приложении, заставляет ASP.NET отображать ее содержимое независимо от того, какая страница запрашивается. Вы можете использовать это для отображения сообщения, объясняющего пользователям, что сайт отключен для обслуживания. Вы можете прочитать больше об этом здесь в блоге Скотта Гатри .
Весьма разумно подходить к обновлению сайта таким образом, потому что это механизм для выполнения обновления сайта за один атомный шаг, и при условии, что вы заранее предупредите пользователей, что они не будут возражать (и, возможно, сделайте это в то время, когда трафик в типичной низкой точке).
Вы упоминаете, что в PHP у вас не было бы этой проблемы. На самом деле, если вы обновляете что-то большее, чем пару не связанных страниц, вы должны запретить пользователям доступ к сайту во время обновлений в качестве курса.
Допустим, вы обновляете пять или шесть страниц, которые все слабо связаны - возможно, как часть приложения электронной коммерции. В процессе загрузки вы развертываете первую страницу, и она предоставляется пользователю. Одним из изменений, которые вы внесли в эту страницу, было добавление нового поля в форму. Страница отправляет обратно в другой скрипт PHP, который использует это поле. Существуют два сценария:
Страница обратной передачи новая и все еще находится в очереди на загрузку. Это нарушает вновь загруженный скрипт, потому что когда пользователь нажимает кнопку «Отправить», ему нечего отправлять.
Страница обратной передачи уже существует, но не была обновлена. Эта страница записывает поля записей формы в базу данных. Вы добавили это новое поле в базу данных, но оно является обязательным и не может быть пустым. Ваш еще не обновленный сценарий обратной передачи пытается обновить БД, но возникает ошибка, поскольку новое поле отсутствует в операторе INSERT формы обратной передачи и, следовательно, является нулевым, что вызывает нарушение ограничения NOT NULL.
Я мог бы продолжить. Если ваш сайт предоставляет больше, чем просто тривиальное количество функциональных возможностей, вы должны перейти в автономный режим для ВСЕХ обновлений, чтобы убедиться, что ВСЕ обновленный код развернут в одном атомарном обновлении.