ASP против ASP.Net

ASP и ASP.Net очень разные языки программирования. ASP это язык сценариев, где как ASP.NET веб-формулировка скомпилированного языка (Visual Basic, C #, J #, C ++, .Net). Более того, в отличие от ASP, ASP.NET является объектно-ориентированным языком..

сообщить об этом объявлении

Содержание: ASP против ASP.Net

  • 1 процесс изоляции
  • 2 Интерпретация против компиляции
    • 2.1 Влияние на производительность
  • 3 Отладка
  • 4 Ссылки

Изоляция процесса

ASP запускается в пространстве процесса inetinfo.exe (IIS) и поэтому подвержен сбоям приложений из-за остановки или перезапуска IIS.

С другой стороны, рабочий процесс ASP.NET - это отдельный процесс (aspnet_wp.exe), отдельный от процесса IIS inetinfo.exe. Модель процесса в ASP.NET не связана с параметрами изоляции процесса в IIS.

Интерпретация против компиляции

Когда запрашивается традиционная страница ASP, текст этой страницы анализируется линейно. Все содержимое, которое не является серверным сценарием, отображается как есть обратно в ответ. Весь серверный сценарий на странице сначала запускается через соответствующий интерпретатор (JScript или VBScript), вывод которого затем отображается обратно в ответ..

Напротив, страницы ASP.NET всегда компилируются в классы .NET, размещенные в сборках. Этот класс включает весь код на стороне сервера и статический HTML, поэтому, как только к странице обращаются в первый раз (или к любой странице в пределах определенного каталога), последующий рендеринг этой страницы обслуживается выполнением скомпилированного кода. Это устраняет все неэффективности модели сценариев традиционного ASP.

Влияние на производительность

  • Поскольку ASP-скрипты интерпретируются на лету, это влияет на производительность. Следовательно, общая оптимизация для приложений ASP - это перемещение большого количества серверных сценариев в предварительно скомпилированные компоненты COM для сокращения времени отклика. Поскольку все компоненты в ASP.NET являются сборками, при использовании серверного кода снижение производительности не происходит..
  • В ASP смешивание блоков оценки на стороне сервера со статическим HTML менее эффективно, чем один блок сценария на стороне сервера, поскольку интерпретатор должен вызываться несколько раз. Чтобы избежать этого, многие разработчики ASP прибегают к большим блокам серверного скрипта, заменяя статические HTML-элементы вызовами Response.Write (). Для ASP.NET такие шаги не требуются для повышения производительности.
  • ASP позволяет писать разные блоки скрипта на странице на разных языках скриптинга. Хотя это может быть привлекательным в некоторых отношениях, оно также снижает производительность, требуя, чтобы определенная страница загружала оба механизма сценариев (JScript, VBScript) для обработки запроса, что занимает больше времени и памяти, чем использование только одного языка. В ASP.NET есть «кодовая часть» в файлах .aspx, которые анализируются и компилируются. Несколько языков на стороне сервера не могут быть использованы в одном файле .aspx.

Отладка

Поскольку ASP включает интерпретацию сценариев, отладка затруднена. Но в ASP.NET все инструменты, доступные для разработчика .NET, применимы к разработчику .aspx. Ошибки со страницами генерируются как ошибки компилятора, и есть большая вероятность, что большинство ошибок будет найдено во время компиляции, а не во время выполнения, потому что VB.NET и C # оба являются строго типизированными языками..

Ссылки

  • Википедия: Активные серверные страницы
  • википедия: ASP.NET