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

Здесь есть возможность читать онлайн «Гайдар Магдануров - ASP.NET MVC Framework» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Санкт-Петербург, Год выпуска: 2010, ISBN: 2010, Издательство: БХВ-Петербург, Жанр: Интернет, Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

ASP.NET MVC Framework: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «ASP.NET MVC Framework»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Рассмотрены основные принципы и возможности технологии 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», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Duration— значение времени в секундах, на которое производится кэширование;

Location— значение перечисления OutputCacheLocation, которое определяет местоположение для кэшированного содержимого: на стороне клиента или сервера. По умолчанию устанавливается значение OutputCacheLocation.Any, это означает, что содержимое может кэшироваться в любом месте;

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

VaryByCustom— любой текст для управления кэшированием. Если этот текст равен browser, то кэширование будет производиться условно по имени браузера и его версии (major version). Если у VaryByCustomбудет указана строка, то вы обязаны переопределить метод GetVaryByCustomStringв файле Global.asax для осуществления условного кэширования;

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

varyByParam— задает условное кэширование, основанное на значениях строки запроса при GET или параметрах при POST;

varyByContentEncodings— указывает условие кэширования в зависимости от содержимого директивы HTTP-заголовка Accept-Encoding;

CacheProfile— используется для указания профиля кэширования заданного через web.config и секцию caching;

NoStore— принимает булево значение. Если значение равно true, то добавляет в директиву HTTP-заголовка Cache-Control параметр no-store;

SqlDependency— строковое значение, которое содержит набор пар строк "база данных" и "таблица", от которых зависит кэшируемое содержимое. Позволяет управлять кэшированием на основе изменений определенных таблиц в базе данных.

В качестве примера рассмотрим следующий фрагмент кода, в котором устанавливается кэширование 1800 секунд (30 минут) любого результата контроллера AdminControllerвне зависимости от параметров запроса:

[OutputCache(Duration = 1800, VaryByParam = ="none")]

public class AdminController : Controller

В другом фрагменте, наоборот, с помощью атрибута OutputCacheAttributeотключается любое кэширование результатов контроллера AdminController:

[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

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

Интервал:

Закладка:

Сделать

Похожие книги на «ASP.NET MVC Framework»

Представляем Вашему вниманию похожие книги на «ASP.NET MVC Framework» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «ASP.NET MVC Framework»

Обсуждение, отзывы о книге «ASP.NET MVC Framework» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x