C# для профессионалов. Том II
Шрифт:
Запустив приложение, мы получим список всех объектов, которые прошли через фильтр:
Заключение
В этой главе рассматривалась архитектура
С помощью классов из пространства имен
С помощью класса
Глава 16
Страницы ASP.NET
Для новичков в мире C# и .NET может показаться странным, почему в книгу включена глава, посвященная ASP.NET. Это совершенно новый язык, не так ли? Не совсем. Фактически, как мы увидим, можно использовать C# для создания страниц ASP.NET. Но мы забегаем вперед. Прежде всего необходимо обсудить, что же такое ASP.NET.
ASP.NET (Active Server Pages.NET — активные серверные страницы .NET), поставляется как часть платформы .NET и является технологией, которая позволяет динамически создавать документы на сервере Web, когда они запрашиваются через HTTP. Это в основном документы HTML, хотя в равной степени можно создавать, например, документы WML для использования в браузерах WAP или на самом деле что-то еще с помощью типа MIME.
Технология ASP.NET аналогична таким технологиям, как PHP, ColdFusion и другим, но между ними имеется одно существенное различие. ASP.NET, как предполагает ее название, была создана с целью полной интеграции в платформу .NET, часть которой включает поддержку C#.
Вполне возможно, что читатель обладает опытом работы с последней технологией компании Microsoft для получения динамической генерации содержимого — ASP. В этом случае, он должен, вероятно, знать, что программирование в этой технологии использует язык сценариев, такой как VBScript или JScript. Это работало, но некоторые вещи были затруднительны для тех программистов, которые привыкли использовать 'правильные' языки программирования, что приводило в результате к потере производительности.
Одним из основных отличий, связанных с использованием более развитых языков программирования, является обеспечение полной серверной объектной модели для использования во время работы. ASP.NET предоставляет доступ ко всем элементам управления на странице, как к объектам в обширном окружении. Также на стороне сервера мы имеем доступ ко всем другим требуемым классам .NET, позволяя интеграцию многих полезных служб. Элементы управления, используемые на странице, функциональны, фактически можно делать все то же, что и с классами форм в Windows, что дает большую гибкость. По этой причине страницы ASP.NET, создающие содержимое HTML, часто называют формами Web.
В этой главе мы проведем более подробное рассмотрение ASP.NET, включая то, как она работает, что мы можем с ней делать и где используется C#.
Введение
ASP.NET пользуется Информационным сервером Интернета (Internet Information Server, IIS) для доставки содержимого в ответ на запросы HTTP. Страницы ASP.NET находятся в файлах с расширением
Во время обработки ASP .NET мы имеем доступ ко всем классам .NET, специальным компонентам, созданным на C# или других языках, базам данных и т.д. Фактически мы обладаем такими же возможностями, как при выполнении приложения C#, т.е. использование C# в ASP.NET заключается в эффективном выполнении приложения C#. Файл ASP.NET может содержать любые элементы из следующего списка:
□ Обработка инструкций для сервера
□ Код на C#, VB.NET, JScript.NET или любом другом языке, который поддерживает платформа .NET сейчас или может поддерживать в будущем
□ Содержимое в любой ферме, подходящей для сгенерированного ресурса, такого как HTML
□ Встроенные серверные элементы правления ASP.NET Поэтому, фактически, можно иметь файл ASP.NET, состоящий просто из
без какого-либо дополнительного кода или инструкций вообще. Это приводит просто к созданию возвращаемой страницы HTML (так как HTML является используемым по умолчанию выводом страниц ASP.NET), содержащей именно этот текст.
Как мы увидим позже в этой главе, можно также разделить отдельные части кода по различным файлам, что создаст более логичную структуру.
Управление состоянием в ASP.NET
Одно из ключевых свойств страниц ASP.NET состоит в том, что они не обладают состоянием. По умолчанию никакая информация не сохраняется на сервере между запросами пользователя (хотя существуют методы, которые позволяют при желании это делать). На первый взгляд это кажется немного странным, так как управление состоянием кажется существенным для интерактивных сеансов, удобных для пользователя. Однако ASP.NET предоставляет достаточно удобный способ обхода этой проблемы, чтобы сделать управление сеансом почти прозрачным.
По сути, информация, например, о состоянии элементов управления в форме Web (данные, введенные в текстовые поля, выбор из выпадающих списков и т.д.) хранится в скрытых полях представления состояния (viewstate), которые являются частью страницы, сгенерированной сервером и переданной пользователю. Если в дальнейшем требуется серверная обработка типа пересылки данных формы, то происходит возврат (postback) этой информации на сервер. На сервере эта информация используется для повторного заполнения объектной модели страницы, позволяя нам действовать на ней, как если бы изменения были бы сделаны локально.
Мы скоро увидим это в действии и укажем особенности.
Формы Web ASP.NET
Как упоминалось ранее, большая часть функциональности ASP.NET достигается с помощью форм Web. Скоро мы перейдем к этому вплотную и создадим простую форму Web, чтобы получить начальную точку для исследования этой технологии. Прежде всего, однако, мы должны взглянуть на особенности, имеющие отношение к созданию форм Web. Необходимо отметить, что многие разработчики ASP.NET используют для создания файлов просто текстовый редактор, такой как notepad. Дело облегчается тем, что можно, как отмечалось ранее, объединить весь код в одном файле. Код заключается между тегами