
ASP.NET предоставляет класс WebConfigurationManager в простран-
стве имен System.Web.Configuration, который позволяет извлекать инфор-
мацию из конфигурационного файла во время выполнения. Члены
WebConfigurationManager перечислены ниже:
AppSettings. Обеспечивает доступ к любой специальной инфор-
мации, которая была добавлена в раздел <appSettings> конфигурационного файла приложения. Отдельные параметры предоставляются в виде проин-
дексированной по именам коллекции.
ConnectionStrings. Обеспечивает доступ к данным в разделе
<connectionStrings> конфигурационного файла. Отдельные параметры предоставляются в виде проиндексированной по именам коллекции.
GetSection(). Возвращает объект, который содержит в себе ин-
формацию из конкретного раздела конфигурационного файла.
OpenWebConfiguration(). Возвращает редактируемый объект
Configuration, который предоставляет доступ к конфигурационной инфор-
мации указанного веб-приложения.
OpenMachineConfiguration(). Возвращает редактируемый объект
Configuration, который предоставляет доступ к конфигурационной инфор-
мации, которая была указана для веб-сервера (в файле machine.config).
Класс WebConfigurationManager предоставляет удобный доступ к двум разделам конфигурационного файла: <appSettings>, в котором можно определять специальные параметры, и <connectionStrings>, который можно использовать для указания того, как приложение подключается к базе дан-
ных. Он позволяет извлекать эту информацию с помощью свойств
AppSettings и ConnectionStrings.
Используя метод WebConfigurationManager.GetSection(), можно из-
влекать информацию о любом другом разделе конфигурации, однако по-
надобится приложить дополнительные усилия. Хитрость состоит в том,
11
что метод GetSection() возвращает объект с типом, который зависит от ти-
па целевого раздела.
При извлечении информации с использованием метода GetSection(),
он отражает совокупную конфигурацию текущего приложения. Это озна-
чает, что параметры из текущего файла web.config объединяются с теми,
которые определены выше в иерархии конфигурации (например, в корне-
вом файле web.config и в machine.config).
С помощью класса WebConfigurationManager можно также изменять большинство разделов конфигурации в коде: в действительности ASP.NET
полагается на эту функциональность в административных веб-страницах.
Для использования этого подхода сначала нужно вызывать метод
OpenWebConfiguration() для получения объекта Configuration. Затем по-
средством метода Configuration.GetSection() можно извлечь раздел, предна-
значенный для модификации, и методом Configuration.Save() зафиксиро-
вать изменения. При изменении параметра настройки ASP.NET обрабаты-
вает обновление безопасным образом, применяя специальный код синхро-
низации, который исключает возможность фиксации изменения одновре-
менно несколькими клиентами.
Как и в случае любого конфигурационного изменения, ASP NET со-
здает новый домен приложения с новыми параметрами, и использует его для обработки новых запросов, постепенно сворачивая работу предыдуще-
го домена приложения.
Управление состоянием в ASP.NET
стояние сеанса (session state) — это самая сложная технология для управления состояниями. Она позволяет сохранять информацию на одной странице и затем получать к ней доступ с другой страницы, а также под-
держивает объекты любого типа, включая специальные, создаваемые са-
мим разработчиком типы данных. Лучше всего то, что состояние сеанса
12
использует такой же основанный на коллекциях синтаксис, что и состоя-
ние представления. Единственное отличие связано с именем встроенного свойства страницы, которое в данном случае выглядит как Session.
Каждый клиент, который получает доступ к приложению, имеет свой сеанс и отдельную коллекцию данных. Состояние сеанса идеально подхо-
дит для сохранения таких данных, как элементы, которые находятся в кор-
зине для покупок пользователя, когда он переходит с одной страницы на другую.
Но за использование состояния сеанса необходимо платить свою це-
ну. Хотя оно решает многие из проблем, которые возникают в случае при-
менения других технологий управления состояниями, его использование вынуждает веб-сервер сохранять дополнительную информацию в памяти.
Необходимость в использовании дополнительных ресурсов памяти серве-
ра, пусть даже в небольшом объеме, очень быстро может достичь угрожа-
ющего производительности уровня, когда к сайту начнут получать доступ тысячи клиентов.
Управление сеансом не является частью HTTP-стандарта. Поэтому для отслеживания информации сеанса и ее привязки к соответствующему ответу ASP.NET приходится выполнять дополнительную работу.
ASP.NET отслеживает каждый сеанс с помощью уникального 120-
битового идентификатора. Для генерации этого значения ASP.NET ис-
пользует патентованный алгоритм, что, согласно статистике, обеспечивает гарантию того, что число будет уникальным и достаточно случайным для того, чтобы злоумышленник не смог воссоздать или угадать идентифика-
тор сеанса, которым будет пользоваться данный клиент. Этот идентифика-
тор является единственным фрагментом информации, который передается между веб-сервером и клиентом.
Когда клиент предоставляет идентификатор сеанса, ASP.NET отыс-
кивает соответствующий сеанс, извлекает с сервера состояний сериализи-
13
рованные данные, преобразует их в реальные объекты и помещает эти объ-
екты в специальную коллекцию для того, чтобы к ним можно было полу-
чить доступ в коде. Весь этот процесс выполняется автоматически.
При каждом новом запросе ASP.NET генерирует новый идентифика-
тор сеанса до тех пор, пока состояние сеанса не будет фактически исполь-
зовано для сохранения какой-то информации. Такое поведение позволяет немного увеличить производительность. Коротко это можно объяснить так: зачем тратить время на сохранение идентификатора сеанса, если он не используется?
Когда ASP.NET обрабатывает HTTP-запрос, тот проходит через кон-
вейер различных модулей, которые могут реагировать на события прило-
жения. Одним из модулей в этой цепочке является SessionStateModule (ко-
торый находится в пространстве имен System.Web.SessionState). Этот мо-
дуль генерирует идентификатор сеанса, извлекает из внешних поставщи-
ков состояния данные сеанса и затем привязывает эти данные к контексту вызовов запроса. Он также сохраняет данные состояния сеанса, когда об-
работка страницы завершается.
ВОПРОСЫ И ЗАДАНИЯ ДЛЯ САМОКОНТРОЛЯ
1.Дайте обзор среды разработки Visual Studio.
2.Дайте обзор языков программирования Microsoft .NET.
3.Опишите процесс создания проекта ASP.NET веб-приложения.
4.Опишите процесс создания веб-форм.
5.Опишите процесс добавления серверных элементов управления на форму.
6.Опишите процесс создания эталонных страниц.
7.Дайте понятие пользовательским элементам управления.
8.Опишите назначение пользовательских элементов управления.
14
9. Опишите процесс создания пользовательских элементов управ-
ления.
10. Охарактеризуйте технологию Microsoft Silverlight.
ТЕМЫ РЕФЕРАТОВ
Реферат оформляется на листах формата А4 и содержит: введение,
основную часть (в основной части подробно раскрывается тема реферата),
заключение, список используемых источников. В реферате следует отра-
зить основные термины и понятия, провести анализ современного состоя-
ния рассматриваемого вопроса, в заключении подвести итог, проделанной работы.
Темы рефератов:
1.Основы ADO.NET.
2.Компоненты данных и DataSet в ASP.
3.Привязка данных в ASP.
4.Расширенные элементы управления данными в ASP.
5.Кэширование и асинхронные страницы в ASP.
6.Файлы и потоки в ASP.
7.LINQ.
8.XML.
9.Пользовательские элементы управления.
10.Темы и мастер-страницы.
11.Навигация по Web-сайту.
12.Развертывание Web-сайтов.
13.Модель безопасности ASP.NET.
14.Аутентификация с помощью форм.
15
СПИСОК ЛИТЕРАТУРЫ
1. Байдачный С.С., Маленко Д.А. ASP.NET 2.0: Секреты создания
Web-приложений. / С.С. Байдачный, Д.А. Маленко. - М.: СОЛОН-ПРЕСС,
2007. - 736 с.
2. Байер Д. Microsoft ASP.NET. Обеспечение безопасности. / Д.
Байер. - СПб.: Питер, 2008. - 448 с.
3. Богомолова О.Б. Web-конструирование на HTML. Практикум. /
О.Б. Богомолова. - М.: БИНОМ. Лаборатория знаний, 2008, 192 с.
4.Бучек Г. ASP.NET. / Г. Бучек. - СПб: Питер, 2002. - 512 с.
5.Коротков А.В., Карякина К.А. Интернет в системе мировых ин-
формационных процессов. Учебное пособие для студентов. / А.В. Корот-
ков, К.А. Карякина. – М.: МГУ, 2006. - 148 с.
6. Савельев А.О. Проектирование и разработка веб-приложений на основе технологий Microsoft [Электронный ресурс]/ Савельев А.О., Алек-
сеев А.А.— Электрон. текстовые данные.— М.: Интернет-Университет Информационных Технологий (ИНТУИТ), 2010.— 240 c.— Режим досту-
па: http://www.iprbookshop.ru/16729.— ЭБС «IPRbooks», по паролю.
7. Столбовский Д.Н. Основы разработки Web-приложений на
ASP.NET [Электронный ресурс]: учебное пособие/ Столбовский Д.Н.—
Электрон. текстовые данные.— М.: БИНОМ. Лаборатория знаний, Ин-
тернет-Университет Информационных Технологий (ИНТУИТ), 2009.—
304 c.— Режим доступа: http://www.iprbookshop.ru/16094.— ЭБС
«IPRbooks», по паролю.
16
СОДЕРЖАНИЕ |
|
Введение ........................................................................................................... |
2 |
Темы, изучаемые в курсе Интерактивное программирование веб- |
|
приложений ...................................................................................................... |
2 |
Вопросы и задания для самоконтроля .......................................................... |
14 |
Темы рефератов.............................................................................................. |
15 |
Список литературы ........................................................................................ |
16 |
17