Версия IIS для машины разработки и версия IIS для развертывания - PullRequest
0 голосов
/ 01 июня 2009

Моя машина для разработки работает под управлением Windows XP SP2 (и IIS 5.1 косвенно).

До недавнего времени наша среда развертывания базировалась на Windows Server 2003 (и, следовательно, IIS 6.0).

Мы собираемся перейти на Windows Server 2008 (и, следовательно, IIS 7.0) для нового проекта.

В наших проектах используются ASP.NET MVC и WCF Services.

Есть ли у нас какие-либо ключевые причины для обновления наших машин для разработки под Windows Server 2008 (или, возможно, Vista, поскольку это также идет с IIS 7.0)?

Ответы [ 2 ]

5 голосов
/ 01 июня 2009

Я бы сказал, что в ваших же интересах обновить машины для разработки, чтобы эмулировать как можно больше производственной среды в рамках ваших средств и ресурсов. В противном случае вы можете попасть в ловушки, о которых вы совершенно не подозреваете, просто развернув приложение со своего компьютера разработки в среде сервера, что может относиться к различным версиям IIS, версии .NET Framework, на которой работает каждая машина, или просто код компилируется или выполняется во время выполнения.

Тем более, что IIS 7 был значительно обновлен со времени IIS 5.1, почему бы вам не поработать ближе с его текущими функциональными возможностями при разработке, прежде чем упустить какие-то большие возможности? Чтобы действительно знать, чего ожидать от приложения на производстве, разработайте его при тех же обстоятельствах.

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

1 голос
/ 03 июня 2009

Я бы порекомендовал вам разрабатывать те же основные сборки, на которых вы собираетесь развертывать. Тем не менее, это оставляет вам несколько вариантов. Во-первых, вы можете выполнить сборку против локальной установки IIS (как вы, похоже, делаете в настоящее время). Это означает, что все ваши коробки должны быть обновлены до Windows Vista или Windows 2008 Server (или Windows 7, поскольку он работает под управлением IIS 7.5). Второй вариант - развернуть на удаленной машине. Вполне возможно развернуть приложение на удаленном тестовом компьютере под управлением IIS 7, а также выполнить удаленную отладку. Проблема в том, что если на удаленном сайте работает более одного разработчика, это становится проблематичным. IIS может выполнять удаленную отладку на разных веб-сайтах для разных разработчиков, но в зависимости от вашей архитектуры и конфигурации вы все равно можете делиться ресурсами между экземплярами тестовых веб-приложений. Иногда вы можете заблокировать друг друга. Единственное преимущество заключается в том, что вам не нужно покупать лицензии на все ваши машины (и, возможно, обновлять оборудование для поддержки обновления ОС). Тем не менее, я думаю, что это было бы недальновидно. ИМХО, потеря производительности разработчиков не стоила бы того.

Существуют серьезные изменения между IIS 5.1 и IIS 7.x. Изменения в архитектуре, такие как интегрированный конвейер, могут привести к радикально различному поведению и проблемам совместимости. Я думаю, вы найдете, что IIS 7 гораздо более дружественный к разработчикам. Внедрение таких вещей, как отслеживание неудачных запросов, расширенное ведение журнала и расширенные страницы ошибок, значительно упрощает отслеживание ошибок в вашем приложении. В связи с этим, обновление того стоит.

...