ASP.NET

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

ASP.NET (Active Server Pages для .NET) — платформа разработки веб-приложений, в состав которой входит: веб-сервисы, программная инфраструктура, модель программирования[1], от компании Майкрософт. ASP.NET входит в состав платформы .NET Framework[2] и развитием более старой технологии Microsoft ASP.

ASP.NET внешне во многом сохраняет схожесть с более старой технологией ASP, что позволяет разработчикам относительно легко перейти на ASP.NET. В то же время внутреннее устройство 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[править | править код]

Поскольку ASP.NET основывается на Common Language Runtime (CLR), которая является основой всех приложений Microsoft .NET, разработчики могут писать код для ASP.NET, используя языки программирования, входящие в комплект .NET Framework (C#, Visual Basic.NET, J# и JScript .NET)[1]. ASP.NET имеет преимущество в скорости по сравнению со скриптовыми технологиями, так как при первом обращении код компилируется и помещается в специальный кэш, и впоследствии только исполняется, не требуя затрат времени на парсинг, оптимизацию и т. д.[источник не указан 30 дней]

Программная модель ASP.NET основывается на протоколе HTTP и использует его правила взаимодействия между сервером и браузером. При формировании страницы заложена абстрактная программной модель Web Forms и на ней основана основная часть реализации программного кода[1].

Безопасность[править | править код]

В ASP.NET, для управления системой аутентификации пользователей на сайте, был реализован за счет Membership API, который представляет средства для входа, хранения и управления учетными записями пользователей. Архитектура Membership API выстроена таким образом, что позволяет управлять пользователями хранящимся в различных источниках: Microsoft SQL Server, Microsoft Active Directory или специальное хранилище (реализованное самим, но тогда необходимо самому реализовывать поставщик, чтобы подключиться к обобщенной базе поставщиков)[6][7]. В ASP.NET аутентификация может осуществляется с помощью форм, либо с помощью Windows через IIS[6][8].

Преимущества ASP.NET перед ASP[править | править код]

  • Компилируемый код выполняется быстрее, большинство ошибок отлавливается ещё на стадии разработки;
  • Значительно улучшенная обработка ошибок во время выполнения запущенной готовой программы, с использованием блоков try..catch;
  • Пользовательские элементы управления (controls) позволяют выделять часто используемые шаблоны, такие как меню сайта;
  • Использование метафор, уже применяющихся в Windows-приложениях, например, таких как элементы управления и события;
  • Расширяемый набор элементов управления и библиотек классов позволяет быстрее разрабатывать приложения;
  • ASP.NET опирается на многоязыковые возможности .NET, что позволяет писать код страниц на VB.NET, Delphi.NET, Visual C#, J# и т. д.;
  • Возможность кэширования всей страницы или её части для увеличения производительности;
  • Возможность кэширования данных, используемых на странице;
  • Возможность разделения визуальной части и бизнес-логики по разным файлам («code behind»);
  • Расширяемая модель обработки запросов;
  • Расширенная событийная модель;
  • Расширяемая модель серверных элементов управления;
  • Наличие master-страниц для задания шаблонов оформления страниц;
  • Поддержка CRUD-операций при работе с таблицами через GridView;
  • Встроенная поддержка AJAX;
  • ASP.NET имеет преимущество в скорости по сравнению с другими технологиями, основанными на скриптах.

Расширения[править | править код]

Корпорация Майкрософт выпустила несколько расширений для ASP.NET:

Примечания[править | править код]

  1. 1 2 3 Дино Эспозито. Microsoft ASP.NET 2.0. Базовый курс. — СПб: И. Д. Питер, 2007. — 688 с. — ISBN 978-5-91180-423-7. — ISBN 978-5-7502-0304-8.
  2. Платт Д. С. Знакомство с Microsoft .NET. — М.: И. Д. Русская редакция, 2001. — 240 с. — ISBN 5-7502-0186-4.
  3. 1 2 Architecture Journal Profile: Scott Guthrie. The Architecture Journal. Microsoft (January 2007). Проверено 20 апреля 2008. Архивировано 24 августа 2011 года.
  4. Michiel van Otegem. Interview with Scott Guthrie, creator of ASP.NET  (недоступная ссылка — история) (July 24, 2007). Проверено 20 апреля 2008. Архивировано 9 ноября 2007 года.
  5. Tim Anderson. How ASP.NET began in Java. The Register (October 30, 2007). Проверено 20 апреля 2008. Архивировано 24 августа 2011 года.
  6. 1 2 Мак-Дональд Мэтью, Фримен Адам, Шпушта Марио. Microsoft ASP.NET 4 с примерами на C# 2010 для профессионалов. — 4-е изд.. — М.: ООО "И.Д. Вильямс", 2011. — 1424 с. — ISBN 978-5-8459-1702-7. — ISBN 978-1-43-022529-4.
  7. Класс Membership. MSDN. Microsoft.
  8. Laurence Moroney, Matthew MacDonald. Pro ASP.NET 2.0 in VB 2005. — Apress, 2006. — 1296 с. — ISBN 978-1-59059-563-3.

См. также[править | править код]

Ссылки[править | править код]

Литература[править | править код]

  • Адам Фримен. ASP.NET MVC 5 с примерами на C# 5.0 для профессионалов, 5-е издание = Pro ASP.NET MVC 5. — М.: «Вильямс», 2014. — 736 с. — ISBN 978-5-8459-1911-3.
  • Джесс Чедвик, Тодд Снайдер, Хришикеш Панда. ASP.NET MVC 4: разработка реальных веб-приложений с помощью ASP.NET MVC = Programming ASP.NET MVC 4: Developing Real-World Web Applications with ASP.NET MVC. — М.: «Вильямс», 2013. — 432 с. — ISBN 978-5-8459-1841-3.
  • Адам Фримен. ASP.NET 4.5 с примерами на C# 5.0 для профессионалов, 5-е издание = Pro ASP.NET 4.5 in C#, 5th Edition. — М.: «Вильямс», 2014. — 1120 с. — ISBN 978-5-8459-1878-9.
  • Даниэль Арсеновски. Рефакторинг в C# и ASP.NET для профессионалов = Professional Refactoring in C# & ASP.NET. — М.: «Диалектика», 2009. — С. 528. — ISBN 978-5-8459-1618-1.