Платформа разработки ASP.NET Гайдар Магдануров t: http://twtter.com/gaidar e: GaidarMa@microsoft.com m: +7 (905) 504 57 16 .NET Framework и ASP.NET System.WinForms System.Web Web Services Web Forms Controls Drawing Службы Windows Form Службы ASP.NET Общие классы ADO.NET XML SQL Threading IO Net Security ServiceProcess Общеязыковая среда выполнения (CLR) Система типов Метаданные Выполнение Платформа ASP.NET Dynamic Data Библиотека для автоматического создания приложений работающих с данными Microsoft Ajax Набор клиентского JavaScript кода и серверных компонентов WebForms MVC Framework Элементы управления, модель событий, источники данных Инфраструктура представлений и контроллеров, поддержка модели Службы ASP.NET Кеширование, хранение состояния, маршрутизация, хранение данных пользователей, поддержка локализация Ядро ASP.NET Процесс обработки Http запросов, инфраструктура HttpModule и HttpHandler, интеграция с веб-сервером IIS, модель расширения Основы WebForms • Элементы управления (контролы) – Серверные и клиентские компоненты • Состояния элементов управления – Сохранение параметров между отправками страницы на сервер • События – Глобальные события приложения – События уровня страницы – События серверных элементов управления • Контекст обработки запроса – Зависимость от очередности событий – Глобальные объекты Элементы управления • «Обертки» над HTML элементами • Генерируют HTML код в зависимости от собственного состояния • Обладают набором свойств, методов и событий • Поддерживают собственное состояние Оформление страниц • Шаблоны (MasterPage) – Позволяют задать шаблон разметки для группы страниц • Темы (Theme) – Определяют набор файлов стилей и изображений для использования в приложении • Скины (Skin) – Задают набор общих визуальных свойств для элементов управления Сохранение состояния • ASP.NET использует механизм ViewState – Сериализованные данные о состоянии элементов управления – Скрытые поля на HTML формах События • Абстракция над процессом обработки запросов • Последовательность действий, выполняемой инфраструктурой • Очередность получения управления блоками кода, относящимся к элементам управления Демонстрация: ASP.NET WebForms Основы MVC Framework Model View Controller Жизненный цикл запроса в MVC Запрос Таблица маршрутов Контроллер Ответ (разметка) Представление Действие контроллера Запрос «глазами пользователя» Браузер /Product/List/2 Сервер /Product/Edit/3 List (View) ProductController (Controller) Product (Model) Edit (View) БД Основы MVC Framework • Таблица маршрутизации – Ограничения правилами • Контроллеры – ActionFilter, ActionResult • Представления – Замена движка представления, подмена представлений во время выполнения • Тестирование – Тесты для контроллеров, mocking Демонстрация: MVC Framework MVC Framework vs WebForms WebForms • Postback и жизненный цикл страницы • События, контролы и Viewstate • Декларативность разработки MVC Framework • Гибкая инфраструктура • Полный контроль над разметкой • Автоматическое тестирование Будущее ASP.NET 4.0 • WebForms 4.0 – – – – – – Управление идентификаторами элементов страниц Клиентские шаблоны Перезапись путей Улучшенная поддержка CSS для элементов управления Расширенная поддержка механизмов кэширования Встроенные элементы управления для графиков и диаграмм • MVC 2.0 – – – – – – Вложенные проекты (area) Декларативные правила валидации модели Раннее связывание элементов UI и модели Поддержка шаблонов для UI элементов Значение параметров действий по умолчанию Автоматическое связывание двоичных данных Основные ресурсы • Библиотека MSDN – http://msdn.microsoft.com/en-us/asp.net/default.aspx • Cайт ASP.NET – http://www.asp.net • Технические видео по теме – http://www.microsoft.com/rus/web/tech/development.aspx СПАСИБО ЗА ВНИМАНИЕ! Гайдар Магдануров t: http://twtter.com/gaidar e: GaidarMa@microsoft.com m: +7 905 504-57-16