- •1. Язык программирования c# 3
- •2. Базовые элементы .Net Framework 67
- •3. ТЕхнология .Net Remoting 144
- •Введение
- •1. Язык программирования c#
- •1.1. Платформа .Net – обзор архитектуры
- •1.2. Язык c# - общие концепции синтаксиса
- •1.3. Система типов языка c#
- •1.4. Преобразования типов
- •1.5. Идентификаторы, ключевые слова и литералы
- •1.6. Объявление переменных, полей и констант
- •1.7. Выражения и операции
- •1.8. Операторы языка c#
- •1.9. Объявление и вызов методов
- •1.10. Массивы в c#
- •1.11. Работа с символами и строками в c#
- •1.12. Синтаксис объявления класса, Поля и методы класса
- •1.13. Свойства и индексаторы
- •1.14. Конструкторы класса и Жизненный цикл объекта
- •1.15. Наследование классов
- •1.16. Перегрузка операЦий
- •1.17. Делегаты
- •1.18. События
- •1.19. Интерфейсы
- •1.20. Структуры и перечисления
- •1.21. Пространства имен
- •1.22. Генерация и обработка исключительных ситуаций
- •1.23. Нововведения в языке c# 2.0
- •1.24. Обобщенные типы (generics)
- •2. Базовые элементы .Net Framework
- •2.1. Метаданные и механизм отражения
- •2.2. Пользовательские и встроенные атрибуты
- •2.3. Пространство имен system.Collections
- •2.4. Работа с файлами и директориями
- •2.5. Использование потоков данных
- •2.6. Сериализация
- •2.7. Сериализация объектов в нестандартном формате
- •2.8. Введение в xml
- •2.9. Работа с xml-документами в .Net framework
- •2.10. МНогопоточное программирование
- •2.11. Синхронизация потоков
- •2.12. Асинхронный вызов методов
- •2.13. Состав и взаимодействие сборок
- •2.14. Конфигурирование сборок
- •3. ТЕхнология .Net Remoting
- •3.1. Домены приложений
- •3.2. Архитектура .Net Remoting
- •3.3. Активация удаленных объектов и их время жизни
- •3.4. Программная настройка Remoting
- •3.5. Удаленные Объекты с клиентской активацией
- •3.6. Настройка Remoting при помощи конфигурационных файлов
- •3.7. Хостинг распределенных приложений
- •3.8. Объекты-сообщения
- •3.9. Пользовательские канальные приемники
- •4.1. Архитектура ado.Net
- •4.2. Учебная база cd Rent
- •4.3. Соединение с базой данных
- •4.4. Выполнение команд и запросов к базе данных
- •4.5. Чтение данных и объект DataReader
- •4.6. Параметризированные запросы
- •4.7. Рассоединенный набор данных
- •4.8. Заполнение Рассоединенного набора данных
- •4.9. Объект класса DataColumn – колонка таблицы
- •4.10. Объекты класса DataRow – строки таблицы
- •4.11. Работа с объектом класса DataTable
- •4.12. DataSet и схема рассоединенного набора данных
- •4.13. Типизированные DataSet
- •4.14. Поиск и фильтрация данных в DataSet
- •4.15. Класс DataView
- •4.16. СиНхронизация набора данных и базы
- •5.1. Архитектура и общие концепции asp.Net
- •5.2. Пример aspx-страницы. Структура страницы
- •5.3. Директивы страницы
- •5.4. Класс System.Web.Ui.Page. События страницы
- •5.5. Серверные элементы управления
- •5.6. Элементы управления Web Controls
- •5.7. Проверочные элементы управления
- •5.8. Списковые элементы управления
- •5.9. Связывание данных
- •5.11. Управление состояниями в web-приложениях
- •5.12. Кэширование
- •5.13. Безопасность в web-приложениях
- •5.14. Создание пользовательских элементов управления
- •Литература
5.1. Архитектура и общие концепции asp.Net
В данном параграфе рассматриваются базовые принципы функционирования и архитектуры технологии ASP.NET. Вначале рассмотрим схему работы в сети Internet, которую можно назвать «классической», так как эта схема является исторически первой. Основными элементами классической схемы являются браузер и веб-сервер. При взаимодействии браузер и веб-сервер проходят следующие этапы:
Браузер формирует запрос к серверу, используя протокол HTTP. Как правило, браузер запрашивает HTML-страницу, то есть текстовый файл, содержащий HTML-код.
Сервер анализирует запрос браузера и извлекает из локального хранилища требуемый файл.
Сервер формирует HTTP-ответ, включающий требуемую информацию, и отсылает его браузеру по протоколу HTTP.
Браузер выполняет отображение страницы.
Классическая схема проста, но обладает существенным недостатком – страницы статичны, и их содержимое не может меняться динамически в зависимости от запросов клиента. В настоящее время подобный подход не соответствует большинству информационных услуг, предоставляемых с помощью сети Internet1. Все большее распространение получают технологии, при использовании которых страницы (целиком или частично) генерируются на сервере непосредственно перед отправкой клиенту. Эти технологии обычно содержат в своем названии словосочетание Server Pages – «серверные страницы» (ASP, ASP.NET). Работают технологии «серверных страниц» по схожим принципам:
Для представления информации на сайте используются не страницы с HTML-кодом, а серверные страницы специального синтаксиса (который часто является HTML-подобным).
При запросе серверной страницы веб-сервер запускает отдельный служебный процесс, которому перенаправляется запрос.
В служебном процессе страница анализируется, по ней генерируется некий объект, соответствующий странице.
Служебный процесс выполняет методы сгенерированного объекта. Как правило, объект имеет специальный метод, генерирующий выходной поток страницы в виде HTML-кода.
Сервер перехватывает выходной поток страницы, формирует HTTP-ответ и отсылает его браузеру.
Браузер выполняет отображение страницы.
Рассмотрим особенности технологии серверных страниц, применительно к ASP.NET. Служебный процесс ASP.NET основан на управляемом коде и выполняется в Common Language Runtime. Серверной странице в ASP.NET соответствует некий .NET-класс. Это обеспечивает возможности межъязыкового взаимодействия, использования готовых библиотек кода и т. п. Серверная страница может содержать «вкрапления» серверного кода, написанные на нескольких языках – C#, VB.NET, J#.
ASP.NET представляет и поддерживает концепцию фонового кода (Code Behind). Эта концепция позволяет разделить логику и визуальное представление. Согласно данной концепции класс страницы наследуется от некоторого базового класса, в котором размещаются методы, образующие логику выполнения страницы. Сама страница содержит только описание визуальной части (какие визуальные компоненты и где размещены, как настроены их свойства).
Технология ASP.NET также пытается перенести принципы, используемые при написании приложений Windows Forms, на web-программирование. Речь идет о программировании, основанном на обработке событий. Отдельный компонент страницы ASP.NET, как правило, обладает набором некоторых событий. Хорошим примером является кнопка, у которой есть событие On_Click. Для того чтобы закодировать логику страницы, программист пишет обработчики соответствующий событий. Когда событие происходит, информация о нем пересылается от клиента на сервер, где срабатывает обработчик события. Затем страница (вся или только ее часть) вновь пересылается клиенту.
Чтобы страница сохраняла свое состояние между отдельными циклами приема-передачи, это состояние фиксируется в специальном скрытом поле перед отправкой на сервер, а сервер восстанавливает состояние страницы перед отправкой клиенту. Данный технологический прием называется в ASP.NET поддержкой View State (отображаемого состояния).