ASP.NET (Active Server Pages для .NET) — платформа разработки веб-приложений, в состав которой входят: веб-сервисы, программная инфраструктура, модель программирования[1], от компании Майкрософт. ASP.NET входит в состав платформы .NET Framework[2] и является развитием более старой технологии Microsoft ASP.
ASP.NET внешне во многом сохраняет схожесть с более старой технологией ASP, что позволяет разработчикам относительно легко перейти на ASP.NET. В то же время внутреннее устройство ASP.NET существенно отличается от ASP, поскольку она основана на платформе .NET и, следовательно, использует все новые возможности, предоставляемые этой платформой.
После выпуска сервера Internet Information Services 4.0 в 1997 году, компания Microsoft начала исследовать возможность новой модели веб-приложения, которая удовлетворит жалобы на ASP, особенно связанные с отделением оформления от содержания, и которая позволит писать «чистый» [3]. Работа по разработке такой модели была поручена Марку Андерсу, менеджеру команды IIS, и Скотту Гатри, поступившему на работу в Microsoft в 1997. Андерс и Гатри разработали первоначальный проект в течение двух месяцев, и Гатри написал первоначального прототипа во время рождественских каникул 1997 года.[4]
Первоначальный проект назывался «XSP»; Гатри объяснил в интервью 2007 года, что «всегда спрашивают, что означает буква X. В то время она ничего не значила. XML начинается с неё; XSLT начинается с неё. Все клевое начинается с X, поэтому мы его так и назвали.»[3] Прототип XSP был написан на Java, так как на тот момент у Microsoft не было Java-подобной технологии. В то время уже предполагалось (небезосновательно, как выяснилось в дальнейшем), что лицензирование Java для Microsoft не будет продлено в 2003 году (в 2003 истекал срок выданной Sun Microsystems лицензии). В 1999 компанией Майкрософт было решено построить платформу с общеязыковой средой исполнения Common Language Runtime (CLR) и на её основе развить технологии. В ней, как и в Java, использовались программирование по принципам ООП, сборка мусора и другие возможности[5]. Гатри описал это решение как «огромный риск», так как успех новой разработки был связан с успехом CLR, которая, как и XSP, находилась на ранней стадии разработки.
Поскольку ASP.NET основывается на Common Language Runtime (CLR), которая является основой всех приложений Microsoft .NET, разработчики могут писать для ASP.NET, используя языки программирования, входящие в комплект .NET Framework (C#, Visual Basic.NET, J# и JScript .NET)[1].
Программная модель ASP.NET основывается на протоколе HTTP и использует его правила взаимодействия между сервером и браузером. При формировании страницы заложена абстрактная программная модель Web Forms и на ней основана основная часть реализации программного а[1].
В ASP.NET поддерживается несколько программных моделей для создания веб-приложений[6]:
Другие расширения ASP.NET:
System.Web.IHttpHandler
. В отличие от страниц ASP.NET у них нет файла с HTML разметкой, нет поддержки обработки событий и других вспомогательных технологий. Они содержат только файл с программным ом, написанным на любом из .NET-совместимых языков, который записывает какие-то данные в HTTP ответ. HTTP обработчики схожи с ISAPI-расширениями;В ASP.NET, для управления системой аутентификации пользователей на сайте, был реализован за счет Membership API, который представляет средства для входа, хранения и управления учетными записями пользователей. Архитектура Membership API выстроена таким образом, что позволяет управлять пользователями хранящимся в различных источниках: Microsoft SQL Server, Microsoft Active Directory или специальное хранилище (реализованное самим, но тогда необходимо самому реализовывать поставщик, чтобы подключиться к обобщенной базе поставщиков)[9][10]. В ASP.NET аутентификация может осуществляется с помощью форм, либо с помощью Windows через IIS[9][11].
![]() .NET | |
---|---|
Реализации | |
Архитектура | |
Инфраструктура | |
Языки Microsoft | |
Другие языки | |
Windows Foundations | |
Компоненты | |
Сравнения | |
Будущие технологии | |
Информационные ресурсы |