MvcConfig: Храним настройки ASP.NET MVC проложения в файле, а получаем как сервис через Dependency Injection

Мне трудно представить себе сайт, который бы не использовал какие-либо настройки доступные из любого места программы. Например, адрес электронной почты системного администратора, для отправки ему сообщений или количество строк на странице пейджера. Итак, задача на проект: Требуется создать систему настроек в приложении.

Задача на проект

Требуется реализовать хранение настроек программы в отдельном файле. Настройки должны быть иметь возможность расширения новыми свойствами. Они должны иметь возможность вливаться как Dependency Injection. В этой статье покажу одну свою наработку, которая избавляет от траты времени на реализацию такого механизма. Добавлю, что настройки должны, ко всему прочему, еще и храниться в разных форматах (XML, JSON). Для того, чтобы показать в полном объеме возможности сборки MvcConfig, я создам новый проект.

[читать дальше]

Реклама
MvcConfig: Храним настройки ASP.NET MVC проложения в файле, а получаем как сервис через Dependency Injection

ASP.NET MVC: Плагины для ASP.NET MVC или Autofac Modules как plugins

Модульные приложения — это хорошо масштабируемые приложения, которые достаточно просто поддаются расширению, то есть добавлению нового функционала. В этой статье описывается один из примеров организации модульного приложения на основе DI-контейнера Autofac.

Что там впереди

Целью моей статьи показать, как можно организовать структуру приложения, в котором реализованы обособленные модули (плагины). Примером для такой реализации я взял принцип калькулятора с удаленными операциями. Представьте, что у вас есть разборный калькулятор, у которого кнопки операций (+,-, и т.д.) находятся в другой коробке. Какие кнопки вставите в корпус, такие операции можно выполнять. Для реализации задачи потребуется Visual Studio 2013 или Visual Studio 2012 c установленным пакетом обновления (Update 2013.1). Хотя на самом деле для реализации можно взять и другую версию ASP.NET MVC, не обязательно пятую версию.

Архитектура решения

На этот раз сначала создадим чистое решение (blank solution). Для этого надо нажать «Новый проект (New Project)», далее на закладке слева выбрать «Installed -> Other Project Types -> Visual Studio Solution». Вводим название для нашего решения “ModulesMvc”. После этого нажать кнопку «Ok». Теперь во вновь созданное решениедобавим первый проект. Правой кнопкой на решении, затем «добавить новый проект (New Project)». Создаем новое приложение из шаблона ASP.NET MVC 5.

Не лишним было бы запустить в Package Manager Console команду upadate-package, чтобы обновить все сборки (в том числе и сами ASP.NET MVC). После этого добавляем в решение новый проект. Тип этого проекта Class Library. Название для в моем случае будет “ModulesContracts”. Этот проект будет содержать все необходимые интерфейсы и базовые классы для “передачи” их во внешние модули. Этот проект, так сказать, является “корневым” по части зависимостей в архитектуре решения (solution).

Продожение со скриншотами и демо-проектом в блоге

ASP.NET MVC: Плагины для ASP.NET MVC или Autofac Modules как plugins

Что значит имя: База данных для SPA или Code First на EntityFramework

В предыдущей статье из цикла “Что значит имя” было показано что из себя представляет DurandalJS и как с ним работать. В этой статье будем работать с EntityFramework: создадим базу данных по принципу Code First; создадим классы сущностей, настроим SQL-подключение. [читать дальше]

Что значит имя: База данных для SPA или Code First на EntityFramework

Что значит имя: Изучаем DurandalJS как SPA на примере сайта об именах

На этот раз будем знакомиться с DurandalJS, который является базовым фреймворком для нашего сайта, построенного по архитектуре Single Page Application. В статье будут описаны основные принципы и правила построения приложения на DurandalJS. [читать дальше]

Что значит имя: Изучаем DurandalJS как SPA на примере сайта об именах

Что значит имя: Создаем новый сайт по принципу Single Page Application

Это первая статья из цикла статьей посвященных созданию сайтов по технологии Single Page Application (SPA). В этой статье: создадим проект Visual Studio, установим необходимые библиотеки, сделаем настройки библиотек и сайта.[читать дальше]

Что значит имя: Создаем новый сайт по принципу Single Page Application

Knockout: Создаем поле с автоподстановкой или Autocomplete on knockoutjs

В одном из проектов мне пришлось отказаться от использования jQuery UI, а, следовательно, и от множества контролов доступных в этом фреймворке. В этой статье будем реализовывать поле с авто подстановкой (autocomplete) на Knockout.js. продолжение статьи

Knockout: Создаем поле с автоподстановкой или Autocomplete on knockoutjs