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

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

Интервал:

Закладка:

Сделать

□ определяет атрибуты по умолчанию для обработки ошибок и сжатия результатов через GZip;

□ определяет обертку Settingsнад секцией настроек appSettingsфайла web.config, для более прозрачного доступа к настройкам;

□ прямо определяет UserNotFoundMessage, одну из настроек секции appSettingsдля быстрого к ней доступа;

□ определяет упрощенный доступ к объекту Membership.Provider;

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

Чтобы наделить этими свойствами любой контроллер, необходимо наследовать его от базового. Модифицируем контроллер AdminControllerсогласно новым правилам так, как показано во фрагменте:

public class AdminController : BaseController {

[AcceptVerbs(HttpVerbs.Get)]

[Authorize(Users = "Admin")]

public override ActionResult Index()

{

int userCount;

var users = MP.GetAllUsers(0, Int32.MaxValue, out userCount);

ViewData.Model = users;

return View();

}

[AcceptVerbs(HttpVerbs.Get)]

[Authorize(Users = "Admin")]

public ActionResult Select(Guid? userId)

{

if (!userId.HasValue)

throw new HttpException(404, UserNotFoundMessage);

return View("Select", "Site", GetUser(userId.Value));

}

}

Обратите внимание, класс контроллера наследует BaseController, в связи с этим действие Indexпереопределяется с помощью ключевого слова override. Кроме того, в Indexиспользуется новое свойство mp, определенное в базовом контроллере. В другом действии, Select, используются два других функционала базового контроллера: свойство UserNotFoundMessageи статический метод GetUser.

Использование базовых контроллеров позволяет гибко определять базовую логику для других контроллеров. Создав однажды базовый контроллер с набором функций, впоследствии, при создании других контроллеров, вы можете наследовать эти функции, просто определяя базовый контроллер для каждого нового контроллера.

Асинхронное выполнение при работе с контроллерами

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

Выходом из такой ситуации может служить асинхронное выполнение запросов. При асинхронном выполнении тяжелая задача поручается для выполнения отдельному специально созданному потоку, а основной поток ASP.NET освобождается для обработки других пользовательских запросов. Для реализации такого функционала разработчиками MVC Framework был создан специальный механизм AsyncController, который хоть и не вошел в MVC Framework, но доступен в особой библиотеке MVC Framework Futures, которая представлена файлом Microsoft.Web.Mvc.dll.

Примечание

Саму библиотеку и документацию к ней на английском языке можно скачать с официальной страницы ASP.NET MVC на сайте Codeplex по следующему адресу: http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24471

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

После добавления ссылки на сборку в проект, для того чтобы использовать асинхронные контроллеры, необходимо проделать некоторые изменения в существующем коде. Первым делом нужно изменить регистрации маршрутов в таблице маршрутизации так, как показано в следующем фрагменте:

routes.MapAsyncRoute(

"Default",

"{controller}/{action}/{id}",

new { controller = "Home", action = "Index", id = "" }

);

Обратите внимание на то, что вызов routes.MapRouteзаменен на routes.MapAsyncRoute, это необходимо, чтобы механизм MVC мог обрабатывать как асинхронные, так и синхронные контроллеры. После изменений в регистрации маршрутов нет нужды в других изменениях, чтобы специально отслеживать синхронные контроллеры, поскольку механизм MapAsyncRouteрегистрирует маршруты как для асинхронных, так и синхронных контроллеров.

После изменения регистрации маршрутов следует изменить обработчики для *.mvc, определенные ранее в web.config, следующим образом в разделах httpHandlersи handlers:

type="System.Web.Mvc.MvcHttpHandler,

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

Интервал:

Закладка:

Сделать

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

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


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

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

x