Каковы возможные недостатки сайта IIS 7, имеющего соединение NTFS в качестве веб-корня?

Я пытаюсь найти способ развертывания кода ASP.NET с минимальным нарушением работы сайта. Одна мысль состояла в том, чтобы настроить сайт для обслуживания с узла NTFS c:\www\example.com где

c:\www\example.com -> c:\www\example.com_r1234

Затем, когда новый код развернут, он копируется в c:\www\site.com_r1235 и соединение переназначено на

c:\www\example.com -> c:\www\example.com_r1235

Итак, мой вопрос: как это может повлиять на текущие запросы в IIS? Какие еще могут быть недостатки с точки зрения реакции IIS на изменения (если таковые имеются)? Будет ли это так же легко для конечного пользователя сайта, как я надеюсь?

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

Чтобы быть ясным, моя единственная проблема здесь - опыт моих конечных пользователей. Моя цель - не беспокоить их, а не удобство для меня.

3 ответа

способ развертывания кода ASP.NET с минимальным нарушением работы сайта.

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

Одна вещь, которую я видел, - это установить svn-клиент на рабочий сервер, а рабочий сайт - это извлеченная копия определенного местоположения / ветви в дереве управления исходным кодом. Таким образом, по крайней мере, вам нужно только обновить измененные файлы для новых развертываний.

Я создал папку позади моего веб-корня с именем _images

C:\DEV\_IMAGES

затем скопировал в него кучу gif-файлов. Затем я создал символическую ссылку NTFS в моем корне, используя

C:\DEV\PROJECT\ROOT mklink /D webimages ..\_images

В Visual studio 2010 я "Показать все файлы" затем обновляю… и включаю новые "веб-изображения" в свой проект. Теперь я могу указать на...

img src='webimages/icon.gif'

Когда я запускаю приложение, оно прекрасно работает и на моей локальной машине.

Я не буду знать, работает ли он на реальном сервере (IIS 7), пока инфраструктура не справится с этим, кто-нибудь знает какие-либо проблемы, почему это не будет работать в производстве?

Я чувствую, что права есть, и если да, то какой отличный способ упростить общий доступ к папкам (всех типов) между веб-приложениями.

Я еще не пытался выразить это в TFS, поэтому, если у кого-то есть отзывы по этому поводу, дайте нам знать!

Это не будет работать, потому что IIS может подумать, что файл web.config изменился другой программой. IIS, вероятно, будет выдавать исключение System.Configuration.ConfigurationErrorsException. Я бы предложил написать какой-то скрипт, чтобы просто поменять домашний каталог сайта.

Другие вопросы по тегам