2008-11-12 3 views
3

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

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

ответ

7

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

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

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

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

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

2

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

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

Смежные вопросы