Чтение онлайн

на главную - закладки

Жанры

Шрифт:

? новый метод Add(stringkey, object value) у класса ValueProviderDictionary, который позволяет проще задавать значения для экземпляров класса;

? новое свойство ActionDescriptor в классе AuthorizationContext;

? метод Controller.Execute теперь вызовет исключение в ситуации, когда он вызван более одного раза в одном экземпляре. Это означает явное ограничение на вызов единственного экземпляра контроллера на каждый запрос;

? класс Controller более не наследуется от MarshalByRefObject;

? конструктор AuthorizationContext(ControllerContext context) объявлен устаревшим, вместо него предлагается

использовать вариант с двумя параметрами;

? внесены изменения в типы моделей так, что они теперь могут быть не только ссылочными типами, но и значениями. Например, в MVC 2 можно будет использовать System.Int32 как тип модели;

? поиск контроллеров в пространстве имен, указанном при регистрации маршрутов, теперь будет выполняться и в подпространствах имен.

Кроме нововведений, MVC 2 содержит изменения, которые "ломают" совместимость с существующим кодом:

? из класса DefaultControllerFactory исключено свойство RequestContext, вместо этого значение RequestContext передается в методы GetControllerinstance и GetControllerType. Это изменение нарушает работу пользовательских вариантов фабрики контроллеров, которые наследовались от класса DefaultControllerFactory;

? строковое значение area в MVC 2 стало зарезервированным значением, которое нельзя использовать в качестве параметров маршрута при создании маршрутизации. В этом area стало похоже на бывшие ранее зарегистрированными строки controller и action;

? методы расширения хелпер-классов (вспомогательных классов) отныне возвращают MvcHtmlString, вместо строки. Это нововведение рассчитано на использование в окружении ASP.NET 4.0 для получения преимуществ от нового синтаксиса элементов HTML-кодирования;

? действия, которые возвращают JsonResult, в MVC 2 обязаны вызываться только в ответ на POST-запросы, это ограничение введено в целях повышения безопасности, поскольку обнаружены новые типы атак JSON Hijacking, осуществляемые при GET-запросах JSON-данных. Однако MVC 2 будет поддерживать способ обойти это ограничение через использование свойства JsonRequestBehavior у класса JsonResult;

? свойства Model и ModelType объявлены устаревшими, вместо них предлагается использовать новое свойство ModelMetadata, которое содержит в себе данные Model и ModelType.

Нововведения Visual Studio 2010

Релиз Visual Studio 2010 будет содержать финальную версию ASP.NET MVC 2. Для более полной поддержки работы с MVC в Visual Studio 2008 и 2010 будут внесены некоторые изменения: введена поддержка создания областей с помощью элементов интерфейса и помощников, добавлены сниппеты (snippet — фрагмент) для быстрого создания кусочков кода.

Кроме того, MVC 2 будет содержать новый тип проекта, который будет представлять собой облегченный, "пустой" вариант текущего проекта MVC. В нем будут отсутствовать готовые контроллеры AccountController, HomeController и не будет готовых представлений или элементов страниц MasterPage.

Visual Studio 2010 получит новый профиль среды разработки под названием Web Development (Code Optimized). Профиль среды разработки определяет набор инструментов и внешний вид Visual Studio.

Профиль Code Optimized оптимизирован для более удобного набора кода и увеличения рабочего пространства за счет сокрытия панелей с кнопками и элементами управления.

Далее приведены еще некоторые полезные нововведения в Visual Studio 2010, которые могут быть полезны при разработке проектов на ASP.NET MVC.

Мультитаргетинг в Visual Studio 2010

В Visual Studio 2010 понятие мультитаргетинга, т. е. поддержка сразу нескольких версий платформы .NET, приобретает новые возможности. Так как .NET 4.0 Framework содержит новую версию исполняемой среды CLR 4.0, то при установке Framework не заменит собой .NET 3.5, но предложит двум версиям существовать одновременно. Теперь, в зависимости от выбранной версии Framework (рис. 9.10), IntelliSense в Visual Studio будет отображать именно характерные для номера Framework имена методов, свойств, полей и т. д.

Поддержка нескольких мониторов

Для удобства разработчиков, которые используют в своей работе несколько мониторов (от двух и более), Visual Studio 2010 содержит ряд нововведений, которые помогут в полной мере задействовать мониторы в работе.

В связи с тем, что все окна в Visual Studio 2008 были частью одного главного окна, пользователи не имели возможности вынести часть окон на другие мониторы. В Visual Studio 2010 это проблема решена, теперь разработчик может расположить любые панели инструментов, информационные окна, окна редакторов кода и другие на разных мониторах (рис. 9.11).

Сниппеты JavaScript, Html, ASP.NET в Visual Studio 2010

Сниппет — это полезный инструмент, который позволяет сократить время, затрачиваемое разработчиком на набор кода. Сниппет представляет собой короткую команду, которая разворачивается в некий шаблон кода. Например, сниппет foreach для C# разворачивается в одноименный шаблон создания цикла foreach. Для того чтобы использовать сниппет, необходимо набрать его и нажать клавишу <Tab>. Есть и другой способ: можно вызвать список сниппетов с помощью комбинации клавиш <Ctrl>+<K>, <Ctrl>+<X> и выбрать необходимый сниппет из списка.

Visual Studio 2010 вводит поддержку сниппетов для быстрого набора HTML-, ASP.NET- и JavaScript-кода (рис. 9.12). Использование сниппетов позволит значительно ускорить рутинный набор кода для ASP.NET-страниц и элементов управления или скриптов JavaScript.

Что дальше?

Кроме перечисленных ранее функций, которые появились в MV C 2 Preview 2, планируется, что финальный вариант ASP.NET MVC 2 будет содержать еще ряд нововведений:

Поделиться:
Популярные книги

Хроники Тириса. Книга 1

Маханенко Василий Михайлович
1. Хроники Тириса
Фантастика:
боевая фантастика
космическая фантастика
фантастика: прочее
6.00
рейтинг книги
Хроники Тириса. Книга 1

Я царь. Книга XXVIII

Дрейк Сириус
28. Дорогой барон!
Фантастика:
боевая фантастика
аниме
попаданцы
5.00
рейтинг книги
Я царь. Книга XXVIII

Менталист. Конфронтация

Еслер Андрей
2. Выиграть у времени
Фантастика:
боевая фантастика
6.90
рейтинг книги
Менталист. Конфронтация

Бастард Императора. Том 5

Орлов Андрей Юрьевич
5. Бастард Императора
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард Императора. Том 5

Хозяин Стужи

Петров Максим Николаевич
1. Злой Лед
Фантастика:
аниме
фэнтези
попаданцы
7.00
рейтинг книги
Хозяин Стужи

Вперед в прошлое 2

Ратманов Денис
2. Вперед в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Вперед в прошлое 2

Целеполагание

Владимиров Денис
4. Глэрд
Фантастика:
фэнтези
боевая фантастика
рпг
5.00
рейтинг книги
Целеполагание

Студент из прошлого тысячелетия

Еслер Андрей
2. Соприкосновение миров
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Студент из прошлого тысячелетия

Мастер 4

Чащин Валерий
4. Мастер
Фантастика:
героическая фантастика
боевая фантастика
попаданцы
5.00
рейтинг книги
Мастер 4

Кодекс Охотника. Книга XIII

Винокуров Юрий
13. Кодекс Охотника
Фантастика:
боевая фантастика
попаданцы
аниме
7.50
рейтинг книги
Кодекс Охотника. Книга XIII

Мужчина моей судьбы

Ардова Алиса
2. Мужчина не моей мечты
Любовные романы:
любовно-фантастические романы
8.03
рейтинг книги
Мужчина моей судьбы

География растений

Гумбольдт Александр
Классики естествознания
Научно-образовательная:
ботаника
7.50
рейтинг книги
География растений

Цикл "Отмороженный". Компиляция. Книги 1-14

Гарцевич Евгений Александрович
Отмороженный
Фантастика:
боевая фантастика
рпг
постапокалипсис
5.00
рейтинг книги
Цикл Отмороженный. Компиляция. Книги 1-14

Первый среди равных. Книга IV

Бор Жорж
4. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Первый среди равных. Книга IV