Зачем переходить с IIS6 на IIS7?

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

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


person Guy    schedule 12.11.2008    source источник


Ответы (3)


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

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

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

person Joseph Ferris    schedule 29.11.2008

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

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

person John Rudy    schedule 12.11.2008

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

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

person Brian C    schedule 12.11.2008