Гайдар Магдануров - ASP.NET MVC Framework

Тут можно читать онлайн Гайдар Магдануров - ASP.NET MVC Framework - бесплатно ознакомительный отрывок. Жанр: Интернет, издательство БХВ-Петербург, год 2010. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    ASP.NET MVC Framework
  • Автор:
  • Жанр:
  • Издательство:
    БХВ-Петербург
  • Год:
    2010
  • Город:
    Санкт-Петербург
  • ISBN:
    978-5-9775-0462-1
  • Рейтинг:
    3/5. Голосов: 11
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

Гайдар Магдануров - ASP.NET MVC Framework краткое содержание

ASP.NET MVC Framework - описание и краткое содержание, автор Гайдар Магдануров, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
Рассмотрены основные принципы и возможности технологии ASP.NET MVC Framework и показаны способы ее практического использования при разработке веб-приложений. Описаны преимущества подхода разработки MVC и рассмотрена структура MVC-приложения. Приведено сравнение технологии WebForms и MVC Framework и рассмотрены вопросы их совмещения.
Описаны модель и доступ к данным (технологии LINQ, Entity Framework и др.), контроллеры, представление и интерфейс приложения, механизмы маршрутизации и Ajax-функциональность. Уделено внимание вопросам тестирования веб-приложений. Рассмотрены особенности применения ASP.NET MVC 2 в Visual Studio 2010.
Для программистов

ASP.NET MVC Framework - читать онлайн бесплатно ознакомительный отрывок

ASP.NET MVC Framework - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Гайдар Магдануров
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

[OutputCache(Location = OutputCacheLocation.None)]

public class AdminController : Controller

В своей работе атрибут OutputCacheAttributeпереопределяет метод OnResultExecuting, который вызывается перед исполнением результата действия, когда результат типа ActionResultпреобразуется в ответ на запрос пользователя, например в HTML-страницу. Вы можете создать свои варианты реализации ActionFilterAttribute, реализовав атрибут, переопределяющий ActionFilterAttribute. Для демонстрации подобной реализации создадим атрибут, который реализует сжатие результирующих страниц с помощью GZip-сжатия, которое поддерживается всеми современными браузерами.

В листинге 4.5 представлен код атрибута GZipCompressAttribute, который реализует механизм сжатия результата действия через GZip.

Листинг 4.5

using System;

using System.IO.Compression;

using System.Web.Mvc;

namespace MVCBookProject {

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method,

Inherited = true, AllowMultiple = false)]

public class GZipCompress : ActionFilterAttribute {

public override void OnActionExecuting(

ActionExecutingContext filterContext)

{

string acceptEncoding = filterContext.HttpContext.Request

.Headers["Accept-Encoding"];

if (string.IsNullOrEmpty(acceptEncoding)) return;

var response = filterContext.HttpContext.Response;

if (acceptEncoding.ToLower().Contains("gzip"))

{

response.AppendHeader("Content-encoding", "gzip");

response.Filter = new GZipStream(

response.Filter, CompressionMode.Compress);

}

}

}

}

Обратите внимание, что атрибут GZipCompressAttributeнаследует от ActionFilterAttributeи реализует метод OnActionExecuting, в котором С Помощью класса GZipStreamпроизводится сжатие. Использование нашего атрибута тривиально, например, применяем его для контроллера AdminControllerтак, как показано во фрагменте кода:

[GZipCompress]

public class AdminController : Controller

Реализация своего варианта ActionFilterAttribute— это очень мощное средство для расширения механизма ASP.NET MVC. Благодаря ему, мы реализовали прозрачное и простое средство для GZip-сжатия ответов для клиента. Другим стандартным средством, которое использует ActionFilterAttribute, является атрибут outputcacheAttribute, который позволяет управлять кэшированием результатов действий контроллера.

Стандартные реализации класса ActionResult

ActionResult— это базовый класс, экземпляр которого возвращает любое действие контроллера в ASP.NET MVC. В MVC существует несколько стандартных реализаций класса ActionResult: ViewResult, JsonResult, FileResult, RedirectResult, RedirectToRouteResult, ContentResult, EmptyResult. Их назначение и тип возвращаемых данных перечислены в табл. 4.1.

Когда действие завершает свое выполнение оно возвращает результат в виде - фото 31

Когда действие завершает свое выполнение, оно возвращает результат в виде базового класса ActionResultили его наследников. После этого механизм MVC вызывает у возвращенного результата стандартный метод ExecuteResult, который и формирует результат, получаемый клиентом.

ViewResult

ViewResult— это стандартный и самый используемый на практике результат, наследующий тип ActionResult, который возвращается действиями контроллеров. Назначение ViewResult— это определение представления, которое будет использовано механизмом MVC для представления состояния модели.

У ViewResultи базового класса ViewResultBase, от которого ViewResultунаследован, есть ряд параметров:

ViewData— хранилище данных модели, которые используются представлением для отображения результата работы действия;

TempData— аналогичное viewDataхранилище данных модели, но с существенным отличием, которое позволяет данным храниться после перенаправления запроса на другое действие;

viewName— имя представления, которое должно отреагировать на изменение модели контроллером. Иными словами, этот параметр указывает механизму MVC, какое представление нужно использовать для отображения результата работы действия;

MasterName— имя master-представления, которое должно быть использовано для отображения результата работы действия;

view— экземпляр представления, которое должно быть использовано для отображения результата работы действия. Может быть использовано вместо параметра viewNameдля определения представления.

Обычно для возвращения результата типа viewResultиз действия используется стандартный метод контроллера view, который принимает те же параметры, что и viewResult. Рассмотрим пример вызова метода view:

public ActionResult Select(Guid? userid)

{

MembershipProvider mp = Membership.Provider;

MembershipUser user = mp.GetUser(userId, false);

return view("Select", "Site", user);

}

В приведенном фрагменте действие Selectвозвращает результат типа viewResult, который формируется стандартным методом контроллера view. В данном случае метод view принимает три параметра: имя представления Select, имя master-представления Siteи модель данных user.

JsonResult

JsonResult— это стандартная возможность механизма MVC возвращать результат на запрос пользователя в виде JSON-данных. JSON — это формат данных, название которого расшифровывается как JavaScript Object Notation или объектная нотация JavaScript. Хотя в названии присутствует слово JavaScript, формат данных JSON языконезависимый и может быть использован при разработке на любом языке.

Примечание

JSON является альтернативой другому формату данных — XML, но по сравнению с XML JSON более короткий, поэтому JSON получил распространение при совместном использовании с механизмом Ajax, когда размер передаваемых данных может иметь большое значение.

*********************************

Класс JsonResult содержит несколько свойств, для более гибкой настройки возвращаемого результата:

ContentEncoding— устанавливает значение HTTP-параметра ContentEncoding, который определяет кодировку возвращаемого результата;

ContentType— устанавливает значение HTTP-параметра ContentType, если не указано, то по умолчанию устанавливается в application/json;

Data— любые данные, которые могут быть сериализованы в формат JSON с помощью класса JavaScriptSerializer.

Использовать JsonResultдля возвращения результата в виде JSON-данных очень просто, для этого в контроллере существует стандартный метод Json, который принимает все параметры JsonResultи возвращает готовый результат. Рассмотрим пример действия для контроллера AdminController, которое возвращает JSON-данные по запросу с параметром имени пользователя:

public JsonResult SelectUserData(string userName)

{

if (string.IsNullOrEmpty(userName))

throw new HttpException(404, "Пользователь не найден");

MembershipProvider mp = Membership.Provider;

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Гайдар Магдануров читать все книги автора по порядку

Гайдар Магдануров - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




ASP.NET MVC Framework отзывы


Отзывы читателей о книге ASP.NET MVC Framework, автор: Гайдар Магдануров. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x