Как стать автором
Обновить
5.92

ASP *

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

Сначала показывать
Порог рейтинга
Уровень сложности

Фильтры действий в ASP.NET Core

Время на прочтение11 мин
Количество просмотров11K

ASP.NET Core — это мощный и универсальный фреймворк для создания веб-приложений. Он предоставляет широкий набор возможностей для создания надежных и масштабируемых приложений, и одной из ключевых фич, расширяющих его функциональность, являются фильтры действий (Action Filters). Фильтры действий позволяют выполнять код до или после выполнения метода контроллера (или метода действия), что дает возможность добавить в приложение сквозной функционал.

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

Читать далее

В каких аспектах улучшилась производительность в ASP NET Core 8

Время на прочтение26 мин
Количество просмотров13K

ASP.NET Core 8 и .NET 8 обогатились многочисленными потрясающими нововведениями, благодаря которым повышается производительность. В этом посте мы подчеркнём некоторые улучшения, сделанные в ASP.NET Core, и покажем, как с их помощью можно нарастить скорость и эффективность работы веб-приложения. Этот пост можно считать продолжением Performance improvements in ASP.NET Core 7, выходившего в прошлом году. Естественно, при его подготовке я также вдохновлялся постом Performance Improvements in .NET 8. Многие из перечисленных улучшений также прямо или косвенно способствуют повышению производительности ASP.NET Core.

Читать далее

Обзор библиотек для Hangfire

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров3.3K

Hangfire — распределенный и расширяемый планировщик задач для приложений на.NET.

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

Читать далее

Инструменты создания API клиента для .NET

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров16K

При начале разработки нового проекта у моей команды всегда появлялся вопрос, какую библиотеку выбрать для межсервисного взаимодействия? А какую использовать для походов в сторонние сервисы? В этой статье я постарался вкратце осветить различные обёртки над HttpClient.

Читать далее

Работа с Sass в приложении ASP.NET Core

Время на прочтение6 мин
Количество просмотров4K

Sass (Syntactically Awesome Style Sheets) — это скриптовый язык, используемый для создания каскадных таблиц стилей (CSS-файлов). Его синтаксис очень похож на обычный CSS, но вдобавок он поддерживает использование переменных, вложенность, миксины и наследование для селекторов, чего очень не хватает в базовом CSS, ведь эти фичи незаменимы в организации и поддержке стилей вашего веб-приложения. В этой статье я продемонстрирую вам шаги, необходимые для добавления и настройки Sass в вашем ASP.NET Core проекте как в Visual Studio, так и в VS Code.

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

Читать далее

Fancy Widgets — виджеты рабочего стола на AvaloniaUI

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров4.8K

Привет, Хабр!

Около трёх месяцев назад, я и мой друг - начинающие .NET разработчики, решили разработать свои виджеты на рабочий стол Windows, так как официальных нормальных виджетов нет (те что в Windows 11 не считаются). Недавно мы выпустили наш проект в релиз, пока что есть 2 виджета (Погода и Заметки), но вскоре их может быть больше! Проект называется Fancy Widgets и мы хотим поделиться им с вами. Вы можете попробовать наши виджеты, скачав их с нашего сайта https://fancy-widgets.onrender.com. Это наш pet-проект и поэтому он ни на что не претендует, мы просто делали его для себя и для удовольствия. Но мы будем рады услышать ваше мнение и предложения по улучшению нашего продукта. Вы можете оставить свои комментарии под этой статьей или написать нам на нашу почту fancy.widgets.help@gmail.com. Цель этой статьи - вкратце рассказать о нашем проекте и о сложностях, которые возникли у нас при разработке. Мы надеемся, что вы найдете нашу статью интересной и полезной. Приятного чтения! ?

Читать далее

ASP.Net Core: реализуем проверку Google reCAPTCHA V2

Время на прочтение5 мин
Количество просмотров3.2K

В этой статье Мудассар Хан (Mudassar Khan) продемонстрирует нам, как реализовать проверку Google reCAPTCHA V2 (версии 2.0) в ASP.Net Core MVC. 

Приведенный в этой статье пример демонстрирует, как Google reCAPTCHA V2 проверяет ответы с капчей от пользователей, получаемые из коллбэк-функций в JavaScript.

Читать далее

Делаем свой генератор CRUD для asp.net mvc (часть 1 — получаем данные)

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров3.3K

Недавно проходил очередное собеседование, попросили написать CRUD для данных из 5 таблиц с максимальной глубиной связей 3 (таблица 1->таблица 2->таблица 3).

В принципе, это по количеству работы аналог какого-нибудь форума (users, files, themes, groups, messages). Сделайте нам пожалуйста phphbb :). И слышать "Ой, а ваше решение плохо поддерживается" в ответ на труд более двух дней не хотелось.

Встроенный в VisualStudio генератор CRUD по EntityFramework тоже оказался почти бессилен.

Плюс, довольно известный генератор CRUD EasyData(ссылка) не поддерживает валидацию данных через атрибуты (по крайней мере на стороне сервера).

Начнем

C# и .NET: Blazor

Время на прочтение5 мин
Количество просмотров14K

Blazor — это технология, позволяющая создавать клиентские веб-приложения с использованием C# и .NET, а не JavaScript. Blazor может запускать ваш код одним из двух способов. Blazor WebAssembly выполняет код C# на стороне клиента в любом современном браузере, поддерживающем WebAssembly. Blazor Server отправляет события пользовательского интерфейса на стороне клиента обратно на сервер с помощью технологии SignalR, которая обеспечивает связь через сокеты в режиме реального времени между браузером и сервером. После обработки на сервере изменения пользовательского интерфейса отправляются обратно в браузер по тому же сокетному соединению.

Сегодня мы сосредоточимся на создании нового приложения Blazor WebAssembly.

Читать далее

Безопасность ASP.NET

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров6.6K

Веб платформа ASP.NET за последние десятилетия получила достаточно широкое распространение. С ее помощью разрабатывают веб-сайты и веб-приложения с помощью таких средств как HTML, CSS и JavaScript. Также с помощью ASP.NET можно создавать веб-API и веб сокеты.

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

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

Читать далее

Введение в GraphQL для .NET-разработчиков: мутация

Время на прочтение8 мин
Количество просмотров9.3K

GraphQL представляет из себя язык запросов и манипулирования данными для API, а также среду для выполнения этих запросов с существующими данными. Он позволяет различным клиентам использовать API и запрашивать только те данные, которые им нужны, а также он помогает решить проблемы, которые есть у некоторых REST-сервисов, такие как избыток и недостаток данных. В этой статье я расскажу о мутациях в GraphQL. Для доступа и хранения данных буду использовать Entity Framework.

Читать далее

Работа с SQL Server в C# с помощью скриптинга. Часть 2

Время на прочтение8 мин
Количество просмотров3.1K

В этой статье я покажу вам, как работать с Microsoft SQL Server в C# проектах посредством скриптинга. Реализовать это можно как в Windows, так и в macOS. Поскольку Windows, очевидно, является намного более популярной целевой платформой для C# и SQL Server, больше внимания я уделю настройке под macOS. В конце концов, код для этих платформ будет одним и тем же.

Первую часть статьи читайте здесь.

Читать далее

Интеграция с ЕСИА для .Net: запутаннее, чем кажется

Время на прочтение15 мин
Количество просмотров22K

Передо мной стояла задача по интеграции нашего сервиса с госуслугами. Казалось ничего сложного не предстоит, но учитывая что наш сервис базируется на технологии ASP.NET всё было не так оптимистично. В начале были поиски.. много поисков, которые привели к множеству разрозненной и чаще всего неактуальной информации. Так же были найдены уже готовые решения, но как заявляли некоторые товарищи на форумах за такое могут и по головке погладить. Поэтому было решено писать самому.

Эта статья о том, как выполнить интеграцию с госуслугами и не запутаться.

Читать далее

Ближайшие события

Развертывание ASP.NET Core MVC приложения на Ubuntu 20.04 на VPS. Установка SSL

Время на прочтение6 мин
Количество просмотров24K

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

В этой статье я по шагам, на примере своего ASP.NET приложения, рассказал как:

1. Развернуть ASP.NET приложение на VPS
2. Установить SSL сертификат
3. Установить и настроить MS SQL

Это все на Ubuntu 20.04.

Читать далее ->

Документирование ASP .Net Core Web API с помощью OpenAPI/Swagger. Библиотека Swashbuckle

Время на прочтение12 мин
Количество просмотров33K

Привет, я backend-разработчик IT-компании SimbirSoft Дмитрий. В этой статье расскажу, зачем нужно документировать Web API, какие существуют подходы и покажу, как создать документацию для ASP.NET Core Web API с использованием OpenAPI/Swagger.

Материал будет полезен начинающим backend-разработчикам, которые знакомятся с Web API, а также специалистам уровня Middle, интересующимся актуальными стандартами для оформления документации.

Читать далее

Юнит-тесты на внедрение зависимостей Microsoft.Extensions.DependencyInjection

Время на прочтение5 мин
Количество просмотров4.8K

C постепенным переходом проектов на .NET Core фреймворки все большую популярность набирает стандартная реализация внедрения зависимостей от Microsoft. При использовании любого фреймворка для внедрения зависимостей рано или поздно разработчики сталкиваются с проблемой забытой или неправильной регистрации зависимостей, что влечет за собой ошибку в рантайме приложения. В этой статье разбираемся как покрыть unit-тестами внедрение зависимостей стандартной библиотеки Microsoft.Extensions.DependencyInjection.

Читать далее

Насколько быстр ASP.NET Core?

Время на прочтение15 мин
Количество просмотров28K

В последние годы команда .NET усиленно рекламирует ASP.NET Core как один из самых быстрых веб-фреймворков на рынке. Источником этих утверждений всегда были бенчмарки TechEmpower Framework Benchmarks.

Скотт Хантер - директор по управлению программами .NET, утверждает, что .NET более чем в 10 раз быстрее, чем Node.js.

Скотт также утверждает, что .NET быстрее, чем Java, Go и даже C++.

Читать далее

Руководство по созданию облачного приложения под Microsoft Azure на основе опенсорсных технологий. Часть 1

Время на прочтение22 мин
Количество просмотров4K

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

Читать далее

Защита web.config с помощью цифровых сертификатов в Windows и Azure

Время на прочтение8 мин
Количество просмотров2.2K

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

Так было не всегда. Когда .NET был еще совсем молод, большинство приложений работали в рамках одного домена Windows. Обычно в файле web.config не нужно было хранить пароли; права доступа к базе данных предоставлялись непосредственно учетной записи пользователя, под которой работало приложение.

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

Читать далее

Добавляем поддержку Markdown в ASP.NET Core приложение. Часть 1

Время на прочтение11 мин
Количество просмотров5.1K

Последние несколько лет ознаменовали становление Markdown в качестве общепринятого языка разметки HTML-текста. Он становится доступным во все большем количестве мест и фактически уже стал стандартом для документации, которая публикуется и редактируется в интернете. Если вы работаете с Git и GitHub, то вы уже используете Markdown для форматирования README.md и, вероятно, всей остальной документации, которую вы пишете для своих проектов, связанных с разработкой программного обеспечения. Большая часть документации для разработчиков, которую вы сегодня можете найти в интернете, будь то коммерческая документация от таких компаний, как Microsoft, Google и т. д., или типовые решения для документации наподобие ReadTheDocs или KavaDocs, — создается и поддерживается с помощью Markdown.

Читать далее