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 # и двете са силно въведени езици.

Препратки

  • wikipedia: Страници на активен сървър
  • Уикипедия: ASP.NET