View
618
Download
1
Category
Preview:
Citation preview
ASP.NET MVC 3 RCОбзор технологии
Антон ВидищевMCPDProgramming Team LeaderКомпания Eclipse SP (Member of Sigma Group)
Model – View - Controller
Model
ControllerView
ASP.NET MVC 1.0
Создание веб-приложений с использованием шаблона «Model-View-Controller» Чёткое разделение обязанностей между
компонентами Уменьшение связности между компонентами Упрощение unit-тестирования
Полный контроль над разметкой Механизм роутинга Поддержка существующей
инфраструктуры ASP.NET
ASP.NET MVC 2
Валидация при помощи DataAnnotations
Улучшена производительность Строго типизированные
помощники Представление для удаления
данных Экранирование строк при
рендеринге Функционал Areas
ASP.NET MVC 3
Что нового?
Введение
Текущая версия MVC 3 – Release Candidate
MVC 3 требует .NET 4, поддерживается только Visual Studio 2010
Вероятно, финальная версия выйдет до конца года
в данный момент MVC 3 RC несовместима с пакетом Async CTP
Динамические свойства View и ViewModel
Было
Стало
Глобальные фильтры
Фильтры, которые вызываются при вызове каждого действия
ActionFilterAttribute GlobalFilters.Filters.Add(
new MyActionFilter()); IFilterProvider – возможность
переопределить механизм глобальных фильтров
JsonValueProviderFactory
Поддержка привязки Json-данных при запросах на параметры действия
Ранее было в MVC Futures
Новые типы результатов действий HttpNotFoundResult – возвращает
код HTTP 404;
HttpStatusCodeResult – возвращает пользовательский код HTTP-ответа;
RedirectPermanent, RedirectToRoutePermanent, RedirectToActionPermanent – осуществляют переход с кодом HTTP 301 (постоянный редирект)
Ненавязчивый JavaScript
Чистая HTML-разметка без внедренного JavaScript при работе с Ajax
Работа на базе jQuery Требуется включение
jquery.unobtrusive-ajax.js Поддержка клиентской валидации Управление через web.config
(включено по умолчанию)
Безсессионные контроллеры
Возможность работы без сессии Read-only session
Кэширование вложенных действий Атрибут OutputCache можно
применять к любым методам Результат будет кэшироваться и
для методов Html.RenderAction и Html.Action
Валидация: новые атрибуты
CompareAttribute – позволяет проверить на идентичность два свойства в модели
RemoteAttribute – позволяет указать метод для запроса валидации к серверу со стороны клиента (поддерживается jQuery Validation)
Валидация: IsValid
IValidatableObject
Интерфейс представлен в .NET4 Позволяет реализовать логику
валидации в модели
Валидация: запросы
Атрибут SkipRequestValidation – позволяет указать свойства, которые не нужно проверять при валидации запроса
Razor View Engine
Новый движок представлений Чистый клиентский код Отвязывает ASP.NET MVC от Web
Forms MVC 3 поддерживает различные
движки: ASPX, Spark, Razor *.cshtml (*.vbhtml) вместо
*.aspx/*.ascx
Razor: встроенное выражение ASPX
Razor
Razor: блоки кода
ASPX
Razor
Razor: Условия, циклы
Razor: типизация представления ASPX
Razor
Razor: компонентная модель _ViewStart.cshtml – включение
параметров для всех представлений
Параметр Layout – аналог MasterPage (_Layout.cshtml – аналог Site.Master)
Razor: master page
ASPX
Razor
Dependency Injection, Service Locator
Dependency Injection, Service Locator
Asp.net mvc 3 поддерживает Common Service locatorlibrary и любой DI контейнер, который реализует интерфейс из CSL library:
Castle Windsor Adapter Spring .NET Adapter Unity Adapter StructureMap Adapter Autofac Adapter MEF Adapter .net 4.0 LinFu Adapter
Спасибо за внимание!
Антон ВидищевMCPDProgramming Team LeaderКомпания Eclipse SP (Member of Sigma Group)
@antonvidishcheva.vidishchev@gmail.com
Recommended