Как стать автором
Обновить
0.73
Рейтинг

ASP *

Технология создания веб-приложений и веб-сервисов

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Три мушкетёра — Event Sourcing, Event Storming и Event Store — вступают в бой: Часть 1 — пробуем Event Store ДБ

Программирование *.NET *ASP *C# *


Привет, Хабр! Решил я значит на время отойти от Scala, Idris и прочего ФП и чуть чуть поговорить о Event Store — базе данных в которой можно сохранят события в потоки событий. Как в старой доброй книге у нас тоже мушкетёров на самом деле 4 и четвертый это DDD. Сначала я с помощью Event Storming выделю команды, события и сущности с ними связанные. Потом сделаю на их основе сохранение состояния объекта и его восстановление. Буду я делать в этой статье обычный TodoList. За подробностями добро пожаловать под кат.
Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 5.3K
Комментарии 4

Новости

ASP.NET Web API + Entity Framework + Microsoft SQL Server + Angular. Часть 1

.NET *ASP *Microsoft SQL Server *API *C# *


Введение


Небольшой курс по созданию простого веб-приложения с помощью технологий ASP.NET Core, фреймворка Entity Framework, СУБД Microsoft SQL Server и фреймворка Angular. Тестировать Web API будем через приложение Postman.

Курс состоит из нескольких частей:

  1. Создание Web API с помощью ASP.NET Web API и Entity Framework Core.
  2. Реализация пользовательского интерфейса на Angular.
  3. Добавление аутентификации в приложение.
  4. Расширение модели приложения и рассмотрение дополнительных возможностей Entity Framework.
Читать дальше →
Всего голосов 13: ↑8 и ↓5 +3
Просмотры 17K
Комментарии 17

Игра на WebAssembly, часть 2: уровни и опыт, админка

Разработка веб-сайтов *.NET *ASP *Разработка игр *Логические игры
В предыдущей статье получилось сделать прототип игры с вопросами. Но не получилось сделать это полноценно на WebAssembly. В этот раз предлагаю конвертировать этот прототип, сделав с него полноценное WebAssembly приложение, а так же добавить к нему атрибуты большинства игр — опыт и уровни игрока. А так же простую логику — при переходе на некоторые уровни будем открывать новые навыки.

Demo
Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 3.3K
Комментарии 2

А почему мы не пишем код в контроллерах?

Совершенный код *.NET *ASP *C# *
Я думаю, многие из Вас слышали мнение о том что кода в контроллерах быть не должно, и потому контроллер с методами в одну строку считаются «Best Practice».Я в свою очередь сомневаюсь в том, что польза от этого так уж велика. Если у Вас возникали похожие мысли, прошу под кат.

image
Читать дальше →
Всего голосов 47: ↑39 и ↓8 +31
Просмотры 42K
Комментарии 265

Blazor Client Side Интернет Магазин: Часть 7 — Обновился до релизной версии 3.2.0 и добавил показ картинок

Разработка веб-сайтов *.NET *ASP *C# *


Привет, Хабр! Вышел релиз Blazor WebAssemby и я немного обновил свой сайт. За подробностями добро пожаловать под кат.
Читать дальше →
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 2.7K
Комментарии 0

Реализации кэша в C# .NET

Блог компании OTUS .NET *ASP *C# *
Перевод
Привет, Хабр! В преддверии старта курса «C# ASP.NET Core разработчик», подготовили перевод интересного материала о реализации кэша в C#. Приятного прочтения.




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

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

Кэширование отлично подходит для данных, которые изменяются нечасто. Или, в идеале, не меняются никогда. Данные, которые изменяются постоянно, например, текущее время, не должны кэшироваться, иначе вы рискуете получить неправильные результаты.
Читать дальше →
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 20K
Комментарии 2

7 опасных ошибок, которые легко совершить в С#/.NET

Блог компании OTUS Программирование *ASP *C# *
Перевод
Перевод статьи подготовлен в преддверии старта курса «C# ASP.NET Core разработчик».




C# — великолепный язык, и .NET Framework также очень хорош. Строгая типизация в C# способствует уменьшению количества ошибок, которые вы способны спровоцировать, по сравнению с другими языками. Плюс его общая интуитивная конструкция тоже очень помогает, по сравнению с чем-то наподобие JavaScript (где true это false). Тем не менее, в каждом языке есть свои грабли, на которые легко наступить, наряду с ошибочными представлениями об ожидаемом поведении языка и инфраструктуры. Я попытаюсь подробно описать некоторые из этих ошибок.
Читать дальше →
Всего голосов 25: ↑21 и ↓4 +17
Просмотры 8.3K
Комментарии 14

Entity Framework Core

Блог компании OTUS ASP *C# *
Tutorial
Привет, друзья. В этот чудесный майский день мы продолжаем трудиться и сегодня хотим рассказать о том, что в мае OTUS запускает полюбившийся всем курс «Разработчик С#», а также отдельный курс по С# ASP. NET Core. Традиционно, в преддверии старта курсов начинаем публиковать полезный материал. Поехали.




Вступление


В большинстве современных ASP NET Core приложений используется Entity Framework Core. Entity Framework Core – это технология для доступа к базам данных от Microsoft. Оно позволяет взаимодействовать с СУБД с помощью сущностей (entity), то есть классов и объектов NET, а не таблиц базы данных. Это самый известный и функциональный ORM – инструмент в C#. ORM — это object-relational mapping — отображение данных на реальные объекты.

Например, если разработчик напрямую работает с базами данных, программист должен думать о подключении, подготовке SQL и параметров SQL, как отправлять запросы и о транзакциях. А с помощью Entity Framework Core все это делается автоматически — разработчик работает непосредственно с классами NET.
Читать дальше →
Всего голосов 21: ↑12 и ↓9 +3
Просмотры 7.7K
Комментарии 17

Асинхронный код в Startup ASP.NET Core: 4 способа обхода GetAwaiter().GetResult()

Блог компании Dodo Engineering Программирование *.NET *ASP *C# *
С тех пор, как в C# 5.0 завезли механизм async/await, нас постоянно во всех статьях и доках учат, что использовать асинхронный код в синхронном очень плохо. И призывают бояться как огня конструкции GetAwaiter().GetResult(). Однако есть один случай, когда сами программисты Microsoft не гнушаются этой конструкцией.


Читать дальше →
Всего голосов 43: ↑41 и ↓2 +39
Просмотры 15K
Комментарии 29

Blazor Client Side Интернет Магазин: Часть 6 — Создание заказа и работа с компенсирующими действиями

Разработка веб-сайтов *.NET *ASP *C# *WebAssembly *


Привет, Хабр! Продолжаю делать интернет магазин и изучать Blazor. В этой части расскажу о том как добавил в него возможность создания заказа, просмотра заказов и работу с последовательностью действий одно из которых может завершиться ошибкой. За подробностями добро пожаловать под кат.
Читать дальше →
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 2.2K
Комментарии 0

Blazor Client Side Интернет Магазин: Часть 5 — Просмотр корзины и работа с Stateful

Разработка веб-сайтов *.NET *ASP *C# *WebAssembly *


Привет, Хабр! Продолжаю делать интернет магазин на Blazor. В этой части расскажу о том как добавил в него возможность просмотра корзины товаров и организовал работу с состоянием. За подробностями добро пожаловать под кат.
Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 2.3K
Комментарии 3

.Net Core Api: получение данных в запросе из разных источников

.NET *ASP *API *
Из песочницы
В .Net Core есть встроенный механизм Model Binding, позволяющий не просто принимать входные параметры в контроллерах, а получать сразу объекты с заполненными полями. Это позволяет встроить в такой объект все нужные проверки с помощью Model Validation.

Вот только данные, нужные для работы API, приходят нам не только из Query или Body. Какие-то данные нужно получить из Headers (в моем случае там был json в base64), какие-то — из внешних сервисов или ActionRoute, если вы используете REST. Для получения данных оттуда можно использовать свой Binding. Правда и тут есть проблема: если вы решили не нарушать инкапсуляцию и инициализировать модель через конструктор, то придется пошаманить.

Для себя и для будущих поколений я решил написать что-то вроде инструкции по использованию Binding и шаманство с ним.
Читать дальше →
Всего голосов 11: ↑9 и ↓2 +7
Просмотры 7.4K
Комментарии 17

Нестандартные мысли об архитектуре веб-сайта

Разработка веб-сайтов *ASP *HTML *
Мы у себя в WIT-e, конечно, иноходцы. Своя ERP-система (писал о ней тут — Как нам обойтись без 1С?), своя CRM-система, своя M2M для связи с дистрибуторами («какие еще умные слова и аббревиатуры вы знаете?»). Ну и, конечно же, свой подход к WWW, чтобы оставаться в рамках этой 3-буквенной парадигмы.

Все началось с любви к Микрософт, и какая-то из ранних версий сайта еще в конце 90-х была сделана на технологии ASP, а в качестве базы данных под ней лежал обычный файл MS Access. Кстати, провайдеры до сих пор предлагают хостинг на старой доброй ASP, спустя 18 лет после ее обновления до ASP.NET – вот вам и legacy systems во всей красе.
Читать дальше →
Всего голосов 19: ↑10 и ↓9 +1
Просмотры 4.3K
Комментарии 9

Прозрачная аутентификация в ASP.Net Core на Linux

Блог компании Avanpost Программирование *.NET *ASP *C# *
Tutorial

Аутентификация в ASP.Net (Core) — тема довольно избитая, казалось бы, о чем тут еще можно писать. Но по какой-то причине за бортом остается небольшой кусочек — сквозная доменная аутентификация (ntlm, kerberos). Да, когда мы свое приложение хостим на IIS, все понятно — он за нас делает всю работу, а мы просто получаем пользователя из контекста. А что делать, если приложение написано под .Net Core, хостится на Linux машине за Nginx, а заказчик при этом предъявляет требования к прозрачной аутентификации для доменных пользователей? Очевидно, что IIS нам тут сильно не поможет. Ниже я расскажу, как можно данную задачу решить c минимальными трудозатратами. Написанное актуально для .Net Core версии 2.0-2.2. Скорее всего, будет работать на версии 3 и с той же вероятностью не будет работать на версии 1. Делаю оговорку на версионность, поскольку .Net Core довольно активно развивается, и частенько методы, сервисы, зависимости могут менять имена, местоположение, сигнатуры или вообще пропадать.


Что такое Kerberos, и как это работает, кратко можно прочитать в Wiki. В нашей задаче Kerberos в паре с keytab файлом дает возможность приложению на Linux сервере (на Windows, само собой, тоже), который не требуется включать в домен, пропускать сквозной аутентификацией пользователей на windows-клиентах.

Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 9.2K
Комментарии 4

Наивно. Супер: код и архитектура простой игры

Блог компании Dodo Engineering .NET *ASP *Разработка игр *Unity *
Мы живём в сложном мире и, кажется, стали забывать о простых вещах. Например, о бритве Оккама, принцип которой гласит: «Что может быть сделано на основе меньшего числа, не следует делать, исходя из большего». В этой статье я расскажу про простые и не самые надёжные решения, которые можно применять в разработке простых игр.


Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 9.1K
Комментарии 7

Как ошибка из 2009 вызывает конфликт Docker for Windows и Razer Synapse

Ненормальное программирование *Программирование *.NET *ASP *
Перевод
Сегодня мне попался весьма любопытный баг: Docker for Windows не запустится, если у вас запущена панель управления драйвером Razer Synapse.

Но интереснее всего то, почему так случилось…

Читать дальше →
Всего голосов 35: ↑34 и ↓1 +33
Просмотры 17K
Комментарии 17

Связь между C# и C#: REST, gRPC и все, что между

.NET *ASP *C# *
Перевод
Существует много способов связи между клиентом C# и сервером C#. Некоторые из них надежные, другие нет. Некоторые очень быстрые, другие нет. Важно знать различные варианты, чтобы вы могли решить, что лучше для вас. В этой статье будут рассмотрены самые популярные на сегодняшний день технологии и почему они так широко используются. Мы поговорим о REST, gRPC и всем, что между ними.
Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Просмотры 20K
Комментарии 11

Новый эксперимент: Вызов сервисов .NET gRPC из браузера с gRPC-Web

Блог компании Microsoft Программирование *.NET *ASP *WebAssembly *
Перевод
Рады объявить об экспериментальной поддержке gRPC-Web с .NET. gRPC-Web позволяет вызывать gRPC из приложений на основе браузера, таких как JavaScript SPA или приложений Blazor WebAssembly.

gRPC-Web для .NET обещает привнести многие замечательные функции gRPC в приложения для браузеров:

  • Строго-типизированные кодо-сгенерированные клиенты
  • Компактные сообщения Protobuf
  • Серверный стриминг

Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 4K
Комментарии 0

BlazingPizza: приложение на Blazor от начала и до конца. Часть 2. Добавляем компонент

.NET *ASP *C# *WebAssembly *
Tutorial
Привет всем! Всем тем, кто хочет узнать о Blazor немного больше. Сегодня мы продолжим создание нашего сайта для пиццерии, а именно, создадим web api контроллер и попробуем отобразить данные которые поступают из него на компоненте Blazor.

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

Назовём его BasePizza и добавим в проект BlazingPizza.DomainModels. На мой взгляд добавление нового класса очень круто реализовано в Rider, выскакивает неблокирующий диалог, вводим имя класса и тут же можем выбрать что именно нам нужно создать:


Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 5.7K
Комментарии 8

Blazor WebAssembly 3.2.0 Preview 1 теперь доступна

Блог компании Microsoft Программирование *.NET *ASP *C# *
Перевод
Сегодня мы выпустили новое предварительное обновление для Blazor WebAssembly с множеством замечательных новых функций и улучшений.

Вот что нового в этом выпуске:

  • Версия обновлена до 3.2
  • Упрощенный запуск
  • Улучшения размера загрузки
  • Поддержка клиента .NET SignalR

Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 4.4K
Комментарии 0

Вклад авторов