Общие сведения о веб-страницах ASP.NET

Visual Studio 2010

Обновлен: Ноябрь 2007

Веб-страницы ASP.NET используются в качестве программируемого пользовательского интерфейса веб-приложения. Веб-страница ASP.NET предоставляет пользователю сведения в любом обозревателе или клиентском устройстве и реализует логику приложения с помощью серверного кода. Веб-страницы ASP.NET:

  • Основаны на технологии Microsoft ASP.NET, согласно которой код, выполняемый на сервере, динамически создает выходные данные веб-страниц для обозревателя или клиентского устройства.

  • Совместимы с любым веб-обозревателем или мобильным устройством. Веб-страница ASP.NET автоматически отображает HTML с такими возможностями, как стили, расположение и т. д. в соответствии с типом обозревателя. Кроме того, можно разработать веб-страницы ASP.NET для запуска на определенных обозревателях, например Microsoft Internet Explorer 6, и воспользоваться преимуществами функций, специфических для данного обозревателя.

  • Совместимы с любым языком, который поддерживается средой CLR в .NET, включая Microsoft Visual Basic, Microsoft Visual C#, Microsoft J# и Microsoft JScript .NET.

  • Построены на основе Microsoft .NET Framework. Это позволяет использовать все преимущества платформы, включая управляемую среду, строгую типизацию и наследование.

  • Являются гибким инструментом, поскольку в них можно добавлять созданные пользователем или сторонним производителем элементы управления.

На веб-страницах ASP.NET программирование пользовательского интерфейса разделено на два этапа: программирование алгоритма и визуального компонента. В программах Visual Basic и Visual C++ используется такое же разделение между видимой частью страницы и фоновым кодом, который взаимодействует с данной страницей.

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

Алгоритм веб-страницы ASP.NET состоит из кода, который создается для взаимодействия со страницей. Код может находиться в блоке script на странице или в отдельном файле класса. Если код находится в отдельном файле класса, этот файл является файлом с выделенным кодом. Код в файле с выделенным кодом может быть написан на языке Visual Basic, Visual C#, Visual J# или JScript .NET. Дополнительные сведения о способах создания веб-страниц ASP.NET см. в разделе Модель кода веб-страниц ASP.NET.

Веб-страницы ASP.NET компилируются в файл библиотеки DLL. При первом просмотре страницы ASPX пользователем ASP.NET автоматически создает файл класса .NET, представляющий страницу, и выполняет его компиляцию. DLL-файл запускается на сервере и динамически создает выходные данные для страницы в формате HTML. Дополнительные сведения о компиляции приложений ASP.NET см. в разделе Общие сведения о компиляции в ASP.NET.

При программировании веб-приложений возникают такие проблемы, которые обычно не встают при программировании традиционных клиентских приложений. Ниже перечислены некоторые из них.

  • Реализация сложного пользовательского веб-интерфейса.   Разработка и реализация пользовательского интерфейса с помощью базовых возможностей HTML может оказаться довольно сложным делом, особенно если страница имеет сложную структуру, большое количество динамического содержимого и полнофункциональные интерактивные объекты.

  • Разделение функций клиента и сервера.   В веб-приложении клиент (веб-обозреватель) и сервер являются различными программами, которые часто выполняются на различных компьютерах (и даже под управлением различных операционных систем). Следовательно, эти две части приложения совместно используют лишь небольшой объем информации. Они могут взаимодействовать, но, как правило, обмениваются только небольшими фрагментами основных сведений.

  • Выполнение, не содержащее состояний.   Когда веб-сервер получает запрос на страницу, он находит эту страницу, обрабатывает ее, отправляет обозревателю, а затем удаляет все сведения о ней. Если пользователь снова запросит эту страницу, то сервер полностью повторит эту последовательность действий, заново обрабатывая эту страницу. Другими словами, сервер не хранит информацию об обработанных страницах: страницы не имеют состояний. Поэтому если приложению необходимо хранить информацию о странице, отсутствие состояний может стать проблемой.

  • Неизвестные возможности клиента.    Во многих случаях веб-приложения доступны многим пользователям, использующим различные обозреватели. Обозреватели имеют различные возможности, поэтому сложно создать приложение, которое одинаково выполняется на всех обозревателях.

  • Сложности, связанные с доступом к данным.   Чтение и запись источника данных в традиционных веб-приложениях могут оказаться сложными и ресурсоемкими.

  • Сложности, связанные с масштабируемостью.   Во многих случаях веб-приложения, разработанные с помощью существующих методов, не являются масштабируемыми из-за несовместимости различных компонентов приложения. Это часто является недостатком приложений при значительных колебаниях обрабатываемого объема данных.

Для решения этих проблем веб-приложений может потребоваться дополнительное время и силы. Ниже описываются приемы, с помощью которых веб-страницы ASP.NET и платформа веб-страниц ASP.NET решают эти задачи.

  • Интуитивная и последовательная объектная модель.   Платформа веб-страниц ASP.NET предоставляет объектную модель, позволяющую работать с формами как с единым целым, а не как с отдельными клиентскими и серверными частями. В этой модели страницу можно запрограммировать интуитивно более понятным способом, чем в традиционных веб-приложениях. Существует возможность задать свойства для элементов страницы и сформировать отклик на события. В дополнение к этому серверные элементы управления ASP.NET являются абстракцией физического содержимого HTML-страницы и прямого взаимодействия между обозревателем и сервером. Как правило, с серверными элементами управления можно работать так же, как и с элементами управления в клиентских приложениях, не задумываясь при этом о создании кода HTML, представляющего и обрабатывающего элементы управления и их содержимое.

  • Событийная модель программирования.   Веб-страницы ASP.NET предоставляют веб-приложениям привычную модель создания обработчиков для событий, которые возникают на стороне клиента или сервера. Эта модель в платформе веб-страниц ASP.NET настолько абстрактна, что основной механизм захвата события на клиенте, передачи его серверу и вызов соответствующего метода является полностью автоматическим и невидимым разработчику. В результате создается простая кодовая структура, поддерживающая разработку на основе событийного механизма.

  • Интуитивное управление состояниями.   Платформа веб-страниц ASP.NET автоматически решает задачу поддержания состояния страницы и ее элементов управления и предоставляет явные способы сохранения состояния сведений о конкретном приложении. Эта задача решается без использования значительных ресурсов сервера и может быть реализована как без отправки, так и с отправкой объектов Сookie обозревателю.

  • Приложения, независимые от обозревателя.   Платформа веб-страниц ASP.NET позволяет создавать любые алгоритмы приложения на сервере, устраняя необходимость дополнительного программирования для различных обозревателей. Однако она также позволяет использовать преимущества определенного обозревателя путем написания кода на стороне клиента для обеспечения лучшей производительности и более широких возможностей клиента.

  • Поддержка общеязыковой среды выполнения (CLR) .NET Framework.   Модель платформы веб-страниц ASP.NET основана на платформе .NET Framework, поэтому все возможности этой платформы доступны для любого приложения ASP.NET. Приложения могут быть написаны на любом языке, совместимом со средой выполнения. Кроме того, доступ к данным упрощается благодаря использованию инфраструктуры доступа к данным технологии .NET Framework, включающей ADO.NET.

  • Возможности масштабирования приложения, предоставляемые технологией .NET Framework.   Платформа веб-страниц ASP.NET позволяет без сложных изменений в алгоритмах веб-приложений масштабировать их от компьютера с единственным процессором к многокомпьютерным веб-фермам.

Показ: