В этой статье мы поговорим о шаблонах проектирования «Единица работы» и «Репозиторий» в контексте тестового веб-приложения на ASP.NET Core (с использованием встроенного DI), которое мы с вами вместе и разработаем. В результате мы получим две реализации взаимодействия с хранилищем: настоящую, на основе базы данных SQLite, и фейковую, для быстрого тестирования, на основе перечисления в памяти. Переключение между этими двумя реализациями будет выполняться изменением одной строчки кода.
Рубрика «ASP.NET» - 6
ASP.NET Core: Пример реализации шаблонов проектирования Единица работы и Репозиторий
2016-10-12 в 13:13, admin, рубрики: .net, ASP, ASP.NET, asp.net core, microsoft, open source, sqlite, Visual Studio, Блог компании Microsoft, веб-службы, руководство, руководство для разработчикаASP.NET Core: Создание внешнего интерфейса веб-службы для приложения
2016-10-07 в 9:04, admin, рубрики: .net, ASP, ASP.NET, asp.net core, azure, azure service fabric, microsoft, open source, Visual Studio, Блог компании Microsoft, веб-службы, руководство, руководство для разработчикаПродолжаем делиться материалом по работе с ASP.NET Core. В прошлой статье мы рассказывали о развертывании приложения ASP.NET Core на Nano Server со службами IIS. Сегодня поговорим о создании внешнего интерфейса веб-службы для вашего приложения.
По умолчанию службы Azure Service Fabric не предоставляют общедоступный интерфейс для веб-служб. Для того чтобы сделать приложение функциональным для HTTP-клиентов, необходимо создать веб-проект, который будет работать в качестве точки входа и обмениваться данными с отдельными службами.
В ногу со временем: Используем JWT в ASP.NET Core
2016-10-03 в 10:30, admin, рубрики: .net, ASP, ASP.NET, asp.net core, json, JSON Web Token, jwt, microsoft, базы данных, Блог компании Microsoft, руководство, руководство для разработчикаВ июне 2016 вышел релиз ASP.Net Core 1.0 и теперь, если вас не пугает возраст нового фреймворка, можно аккуратно запустить микросервис в продакшн (все ведь используют микросервисную архитектуру, не так ли?). Для того, чтобы ограничить доступ к вашему микросервису для третьих лиц, необходимо сделать аутентификацию, используя довольно распространенный способ — токены. В статье под катом мы расскажем подробнее о том, как это сделать с помощью JSON Web Token (JWT), а также о плюсах и минусах этого подхода.
Модульная архитектура и многоразовый код
2016-10-03 в 10:23, admin, рубрики: .net, ASP.NET, C#, Анализ и проектирование систем, Программирование
Меня всегда интересовала разработка многоразового и целостного кода. Но проблема многоразового кода останавливается на этапе переноса в другую инфраструктуру. Если приложение расширяется плагинами, то плагины пишутся под конкретное приложение. А что если вынести логику приложения в плагин (далее — модуль), а интерфейс приложения из управляющего звена превратить в управляемый модулем компонент. На мой взгляд, самая главная задача в подобном сценарии, упростить базовые интерфейсы до минимума и дать возможность переписать или расширить любой фрагмент всей инфраструктуры в отдельности. Если интересно, что вышло из идеи модульного кода, то добро пожаловать под кат.
Читать полностью »
ASP.NET Core на Nano Server
2016-09-26 в 8:54, admin, рубрики: .net, ASP, ASP.NET, asp.net core, azure, hyper-v, iis, microsoft, nano server, powershell, Блог компании Microsoft, руководство, руководство для разработчикаПредставляем первую из пяти статей, посвященных работе с ASP.NET Core: руководство по развертыванию приложения ASP.NET Core на Nano Server со службами IIS.
ASP.NET MVC+VM: разбиение сложных представлений на простые с применением моделей видов на примере календаря мероприятий
2016-09-08 в 10:05, admin, рубрики: .net, ASP, ASP.NET, asp.net core, asp.net mvc, mvcЯ решил написать на эту тему, т. к. постоянно использую модели видов (view models) в веб-приложениях на ASP.NET MVC, и часто приходится объяснять суть такого подхода коллегам, а подходящего материала, чтобы ссылаться на него, мы так и не нашли. Эта статья ориентирована прежде всего на новичков.
Представим, что нам необходимо отобразить календарь некоторых мероприятий на текущий месяц. Это достаточно сложная конструкция. Календарь должен содержать заголовок с названием текущего месяца и годом, строку с названиями дней и, собственно, сами дни (6 рядов по 7 дней), каждый из которых имеет дату и, опционально, некоторый набор мероприятий, названия которых необходимо отобразить, предварительно загрузив их из базы данных. Также предположим, что выходные и праздничные дни должны быть отмечены особым образом. Т. е. в итоге должно получиться нечто такое:

Условное внедрение зависимостей в ASP.NET Core. Часть 2
2016-08-03 в 12:45, admin, рубрики: .net, ASP.NET, C#, dependency injection, ПрограммированиеВ первой части статьи были показаны настройки инъектора зависимостей для реализации условного внедрения зависимости с использованием механизмов Environment, Configuration, а также получение сервиса в рамках HTTP запроса, основываясь на данных запроса.
Во второй части вы увидите, как можно расширить возможности инъектора зависимостей на примере выбора необходимой реализации по идентификатору во время выполнения приложения.
Читать полностью »
Переходим на WebMarkupMin 2.X
2016-07-26 в 19:47, admin, рубрики: .net, .net core, ASP, ASP.NET, asp.net core, asp.net mvc, ASP.NET Web Forms, ASP.NET Web Pages, html, WebMarkupMin, xhtml, XML, Клиентская оптимизация, минимизация, минификация, метки: WebMarkupMin
Весной прошлого года, когда ASP.NET 5 был еще в стадии Beta 3, я начал получать от пользователей письма с просьбами сделать WebMarkupMin совместимым с DNX 4.5.1 и DNX Core 5.0. Основной проблемой было то, что новый .NET не поддерживал настройку с помощью конфигурационных файлов App.config и Web.config. Переписывание WebMarkupMin.Core, WebMarkupMin.MsAjax и WebMarkupMin.Yui не должно было представлять особой сложности, потому что нужно было просто удалить весь код, использующий библиотеку System.Configuration. Серьезные проблемы должны были возникнуть при переписывании ASP.NET-расширений, потому что для них нужно было разработать совершенно новую модель конфигурации, а это, в свою очередь, требовало очень серьезных изменений в архитектуре. Эти изменения затрагивали не только код, но и структуру решения и NuGet-пакеты, поэтому я решил начать с чистого листа и сделал репозиторий на GitHub. На тот момент, до релиза стабильной версии нового ASP.NET оставалось как минимум полгода, поэтому нужно было одновременно поддерживать 2 ветви WebMarkupMin: стабильную 1.X на CodePlex и предварительную 2.X на GitHub.
Как известно всем, выход стабильных версий .NET и ASP.NET Core 1.0 задержался еще на несколько месяцев и состоялся только в конце июня этого года. Вслед за релизом этих фреймворков, состоялся и релиз WebMarkupMin 2.0. В этой статье я расскажу вам о том, как обновить существующие приложения под WebMarkupMin 2.X, а также как добавить его в веб-приложения, написанные на ASP.NET Core.
Критические изменения и нововведения
Для того чтобы установить пакеты WebMarkupMin 2.X вам необходимо обновить NuGet Package Manager до версии 2.8.6 или выше.
Основным критическим изменением версии 2.X стал отказ от использования файлов Web.config и App.config для настройки WebMarkupMin. Теперь при настройке вместо декларативного подхода (использование конфигурационных файлов) используется императивный подход (использование программного кода).
Читать полностью »
DotNext 2016: Между настоящим и будущим
2016-06-15 в 8:59, admin, рубрики: .net, .net core, ASP, ASP.NET, C#, dotnext, EPAM Systems, jetbrains, kaspersky lab, luxoft, Блог компании JUG.ru Group, дино эспозито, конференцияКак должна выглядеть .NET-конференция в 2016-м, когда в .NET-мире происходит тектонический сдвиг? Очевидно, что (ASP).NET Core очень сильно скажется на жизни разработчиков, но для большинства из них это произойдёт лишь спустя ощутимое время. О чём в таком случае рассказывать — масштабных новшествах, которые станут актуальны позже, или более привычных темах, которые важны здесь и сейчас?
Петербургский «Летний фестиваль разработчиков», состоящий из трёх конференций подряд, начался с DotNext 2016. Как там была разрешена возникшая дилемма, и как вообще прошёл DotNext? По снимку команды организаторов видно, что при всей хардкорности мероприятие не обошлось без летнего настроения, а все остальные подробности — под катом.

DotNext 2016 Piter: Full Stack .NET conference
2016-05-31 в 15:45, admin, рубрики: .net, .net core. asp.net core, ASP, ASP.NET, C#, hardcore, performance, Блог компании JUG.ru Group, конференция, Программирование, разработкаДо DotNext 2016 Piter (3 июня, гостиница Park Inn Пулковская) осталось всего ничего – каких-то пара дней. А вчера, изучая программу на сайте конференции, я поймал себя на мысли, что подробное изучение всех докладов, спикеров и хабропостов отняло у меня больше 2 часов чистого времени!
Поэтому в срочном порядке было решено сделать практический гайд-карту программы DotNext, который вы сейчас и читаете: мы собрали все доклады, разложили их по полочкам и описали так, чтобы получилась единая и цельная картина. Получилось следующее:
- 4 доклада по ASP.NET Core;
- 3 – про технику про инструменты разработки;
- Доклад про кроссплатформенность .NET.
Но ведь DotNext это не обсуждение тулзов и анонсов платформ, но и адский хардкор, разве нет? Конечно, и этого у нас полно: перфоманс, кодогенерация, модели памяти, математика и многое другое. Ну как оно?





