Зачем переходить с IIS6 на IIS7? - PullRequest
3 голосов
/ 12 ноября 2008

У меня есть несколько веб-приложений, работающих на нескольких компьютерах IIS6 / Server 2003. Они хорошо бегают и счастливы. Все они являются веб-приложениями asp.net и используют .NET 3.5.

Каковы, если таковые имеются, веские причины для переноса веб-приложений на IIS7 / Server 2008?

Ответы [ 3 ]

7 голосов
/ 29 ноября 2008

IIS7 переписан с нуля с концепцией «подключаемости». IIS7 является более расширяемым, чем когда-либо прежде. Весь конвейер запросов был переработан, чтобы вам было проще работать с запросами.

С точки зрения производительности эти изменения сразу узнаваемы. Сайты, разработанные для IIS6, можно запускать в «классическом» пуле приложений, который сохранит совместимость, но обеспечит заметное повышение производительности. В ненаучной оценке, которую мы провели до сих пор, наше устаревшее приложение показало сокращение времени загрузки нашей тестовой машины IIS7 примерно на 20%.

Конечно, причина, по которой мы должны работать в «классическом» режиме, - это интересное примечание. Внутри global.asax есть некоторая предварительная выборка при запуске приложения, которая касается HttpContext. В частности, выполняется предварительное кэширование, которое IIS7 не позволяет. Поэтому, прежде чем мы сможем перейти из «классического» режима, нам нужно будет внести некоторые изменения.

3 голосов
/ 12 ноября 2008
  1. Со временем Microsoft прекратит поддержку Server 2003. По общему признанию, это не будет в течение нескольких лет, поэтому это не влияет на вас сегодня.
  2. Улучшена поддержка ASP.NET MVC. Это, вероятно, большой для большинства из нас. Вы можете заставить ASP.NET MVC работать на IIS6, но есть некоторые обручи для перехода через .

Я бы дал вам больше, но я сам еще не на Server 2008 и больше ничего не могу дать. Предположительно, в Vista (которую я использую как на работе, так и дома) установлен «тот же» IIS7, что и в 2008 году - пользовательские интерфейсы, конечно, выглядят очень похоже - но я не считаю, что мой опыт там будет полезен для вашего вопроса.

2 голосов
/ 12 ноября 2008

Возможность записи компонентов конвейера в управляемых языках. Ранее, если вы хотели написать фильтр ISAPI для обработки определенного типа веб-запроса, вам нужно было бы написать его на C ++. Теперь вы можете использовать хороший старый код .NET. Это позволяет больше настраивать с возможностью записи многократно используемых компонентов конвейера для обработки различных типов запросов. Например, все запросы к файлу .js направляются в компонент конвейера ScriptCompressor, который архивирует и возвращает их с большим количеством установленных параметров кэширования.

С этим связана улучшенная поддержка MVC, так как вы можете настроить II7 для маршрутизации запросов без расширений в .NET, чтобы у вас могли быть более «чистые» URL-адреса, такие как http://www.yourwebsite.com/customer/1, без видимого расширения, которое показывает какой тип серверной технологии вы используете, и в наши дни это очень актуально.

...