Вопрос

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

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

Это было полезно?

Решение

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

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

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

Другие советы

<Ол>
  • Со временем Microsoft прекратит поддержку Server 2003. По общему признанию, это не будет в течение нескольких лет, поэтому это не влияет на вас сегодня.
  • Улучшена поддержка ASP.NET MVC. Это, вероятно, большой для большинства из нас. Вы можете заставить ASP.NET MVC работать на IIS6, но есть некоторые обручи для перехода через .
  • Я бы дал вам больше, но я сам еще не на Server 2008 и больше ничего не могу дать. Предположительно, в Vista (которую я использую как на работе, так и дома) есть «тот же». IIS7, как и в 2008 году, - конечно, пользовательские интерфейсы выглядят очень похоже - но я не считаю, что мой опыт будет полезен для вашего вопроса.

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

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

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top