Введение в ASP.NET Core
ASP.NET Core представляет технологию для создания веб-приложений на платформе .NET, развиваемую компанией Microsoft. В качестве языков программирования для разработки приложений на ASP.NET Core используются C# и F#.
История ASP.NET фактически началась с выходом первой версии .NET в начале 2002 года и с тех пор ASP.NET и .NET развивались параллельно: выход новой версии .NET знаменовал выход новой версии ASP.NET, поскольку ASP.NET работает поверх .NET. В то же время изначально ASP.NET была нацелена на работу исключительно в Windows на веб-сервере IIS (хотя благодаря проекту Mono приложения на ASP.NET можно было запускать и на Linux).
Однако 2014 год ознаменовал большие перемены, фактически революцию в развитии платформы: компания Microsoft взяла курс на развитии ASP.NET как кроссплатформенной технологии, которая развивается как opensource-проект. Данное развитие платформы в дальнейшем получило название ASP.NET Core , собственно как ее официально именут Microsoft до сих пор. Первый релиз обновленной платформы увидел свет в июне 2016 года. Теперь она стала работать не только на Windows, но и на MacOS и Linux. Она стала более легковесной, модульной, ее стало проще конфигурировать, в общем, она стала больше отвечать требованиям текущего времени.
Текущая версия ASP.NET Core, которая собственно и будет охвачена в текущем руководстве, вышла вместе с релизом .NET 8 в ноябре 2023 года.
ASP.NET Core теперь полностью является opensource-фреймворком. Все исходные файлы фреймворка доступны на github в репозитории https://github.com/dotnet/aspnetcore/.
Архитектура и модели разработки
Текущую архитектуру платформы ASP.NET Core можно выразить следующим образом:
На самом верхнем уровне располагаются различные модели взаимодействия с пользователем. Это технологии построения пользовательского интерфейса и обработки ввода пользователя, как MVC, Razor Pages, SPA (Single Page Application — одностраничные приложения с использованием Angular, React, Vue) и Balzor. Кроме того, это сервисы в виде встроенных HTTP API, библиотеки SignalR или сервисов GRPC.
Все эти технологии базируются и/или взаимодействуют с чистым ASP.NET Core, который представлен прежде всего различными встроенными компонентами middleware — компонентами, которые применяются для обработки запроса. Кроме того, технологии высшего уровня также взаимодействуют с различными расширениями, которые не являются непосредственной частью ASP.NET Core, как расширения для логгирования, конфигурации и т.д.
И на самом нижнем уровне приложение ASP.NET Core работает в рамках некоторого веб-сервера, например, Kestrel, IIS, библиотеки HTTP.sys.
Это вкратце архитектура платформы, теперь рассмотрим моделей разработки приложения ASP.NET Core:
- Прежде всего это базовый ASP.NET Core , который поддерживает все основные моменты, необходимые для работы соввременного веб-приложения: маршрутизация, конфигурация, логгирования, возможность работы с различными системами баз данных и т.д.. В ASP.NET Core 6 в фреймворк был добавлен так называемый Minimal API — минимизированная упрощенная модель, который еще упростила процесс разработки и написания кода приложения. Все остальные модели разработки работаю поверх базового функционала ASP.NET Core
- ASP.NET Core MVC представляет в общем виде построения приложения вокруг трех основных компонентов — Model (модели), View (представления) и Controller (контроллеры), где модели отвечают за работу с данными, контроллеры представляют логику обработки запросов, а представления определяют визуальную составляющую.
- Razor Pages представляет модель, при котором за обаботку запроса отвечают специальные сущности — страницы Razor Pages. Каждую отдельную такую сущность можно ассоциировать с отдельной веб-страницей.
- ASP.NET Core Web API представляет реализацию паттерна REST, при котором для каждого типа http-запроса (GET, POST, PUT, DELETE) предназначен отдельный ресурс. Подобные ресурсы определяются в виде методов контроллера Web API. Данная модель особенно подходит для одностраничных приложений, но не только.
- Blazor представляет фреймворк, который позволяет создавать интерактивные приложения как на стороне сервера, так и на стороне клиента и позволяет задействовать на уровне браузера низкоуровневый код WebAssembly.
Особенности платформы
- ASP.NET Core работает поверх платформы .NET и, таким образом, позволяет задействовать весь ее функционал.
- В качестве языков разработки применяются языки программирования, поддерживаемые платформой .NET. Официально встроенная поддержка для проектов ASP.NET Core есть у языков C# и F#
- ASP.NET Core представляет кросс-платформенный фреймворк, приложения на котором могут быть развернуты на всех основных популярных операционных системах: Windows, Mac OS, Linux. И таким образом, с помощью ASP.NET Core мы можем как создавать кросс-платформенные приложения на Windows, на Linux и Mac OS, так и запускать на этих ОС.
- Благодаря модульности фреймворка все необходимые компоненты веб-приложения могут загружаться как отдельные модули через пакетный менеджер Nuget.
- Поддержка работы с большинством распространенных систем баз данных: MS SQL Server, MySQL, Postgres, MongoDB
- ASP.NET Core характеризуется расширяемостью. Фреймворк построен из набора относительно независимых компонентов. И мы можем либо использовать встроенную реализацию этих компонентов, либо расширить их с помощью механизма наследования, либо вовсе создать и применять свои компоненты со своим функционалом.
- Богатый инструментарий для разработки приложений. В качестве инструментария разработки мы можем использовать такую среду разработки с богатым функционалом, как Visual Studio от компании Microsoft. Также можно использовать для разработки среду Rider от компании JetBrains. Кроме того, имеющаяся оснастка .NET CLI позволяет созадвать и запускать проекты ASP.NET в консоли. И таким образом, для написания кода можно использовать обычных текстовый редактор, например, Visual Studio Code .
Что такое asp
ASP – веб-технология, которую в декабре 1996 года представила компания Microsoft для возможности создания интерактивных веб-приложений. ASP – это аббревиатура от Active Server Pages, что переводится, в соответствии с логикой технологии, как «активные серверные страницы». Важно понимать, что ASP не является языком программирования, она только позволяет встраивать в обычный HTML-код сценарии на каком-либо скриптовом языке(Visual Basic Script или Java Script). Таким образом, за счет использования ASP на веб-страницы могут встраиваться элементы с заранее настроенным программным управлением.
Принцип действия
Изначально в любом текстовом редакторе создается исходный код программы. По умолчанию используется Visual Basic – если ничего дополнительно не указывать, система будет считать, что программа написана именно на этом языке. Затем файл, которому задается расширение .asp, выкладывается в каталог, имеющий права на выполнение, чтобы сервер мог исполнить этот файл, когда браузер пользователя запросит его. Для пользователя этот файл не виден, поскольку сначала загруженный файл с программой интерпретирует сервер таким образом, что программный код будет отображаться непосредственно в HTML-коде страницы, в скобках вида скобки .
Дальнейшее развитие
ASP просуществовала в чистом виде до 2002 года. 1 января этого года увидел свет релиз ASP.NET, технологии, в которой были учтены ошибки и недочеты ASP. Устранить их получилось благодаря тому, что новая технология была основана на более функциональной платформе Microsoft .NET.
Похожие темы: нет
Синонимы: нет
Все термины на букву «A»
Все термины в глоссарии
Друзья, теперь вы можете поддержать SEOnews https://pay.cloudtips.ru/p/8828f772 Ваши донаты помогут нам развивать издание и дальше радовать вас полезным контентом. |
Что такое asp
ASP.NET это платформа, служащая для создания веб-сайтов и веб-приложений. Здесь вы можете писать на языках программирования, которые входят в комплект .NET Framework это: C#, Visual Basic NET, J# и другие. На основе этой технологии можно создавать сайты различной сложности и тематики.
ASP.NET намного быстрее, чем обычные скриптовые язык. Он выполняеться быстрее, так как весь кол изначально компилируется при первом запросе пользователя и потом кешируется в памяти. Таким образом, все дальнейшие разы код просто выполняется из памяти и не требует повторной загрузки с сервера. Это сокращает время на парсинг, загрзку и оптимизацию файлов.
На сегодняшний день это очень популярная технология, которая используется во многих крупных проектах. Мы нашли отличную статью, где приводиться ТОП 10 лучших сайтов, созданных на основе этой платформы. Среди этих сайтов есть такие, как:
- StackOverflow это крупнейший онлайн форум, где каждый может задавать вопросы на различные темы и получать на них ответы;
- основной сайт компании Microsoft;
- сервис для регистрации доменных имен GoDaddy. Это один из самых крупных сервисов в мире по регистрации доменов;
- сайт Dell и множество других веб сайтов.
ASP.NET использует схему MVC (Модель-Вид-Контроллер). Каждая часть отвечает за определенные действия. К примеру, пользователь что-то делает на сайте и отправляет запрос на сервер. Контроллер интерпретирует действия пользователя, оповещая модель о необходимости изменений. В свою очередь модель предоставляет данные и реагирует на команды контроллера, изменяя своё состояние. И наконец вид отвечает за отображение данных модели пользователю, реагируя на изменения модели.
Таким образом, посылая запрос на сервер, контроллер принимает этот запрос, модель реагирует на изменения и выдает весь необходимый функционал для отображения страницы, а вид отвечает лишь за внешний вид самой страницы, то есть по сути является простым HTML шаблоном сайта.
Если говорить вкратце, то технология очень хорошая и перспективная. Выбрав её в качестве основной сферы деятельности вы точно не прогадаете и будете рады выбору.
Что такое asp
Технология создания веб-приложений и веб-сервисов
Все подряд Открыть список Скопировать ссылку на RSS
Сначала показывать
Порог рейтинга
Уровень сложности
- Все
- Простой
- Средний
- Сложный
MaxRokatansky 15 ноя в 12:49
Фильтры действий в ASP.NET Core
Время на прочтение 11 мин
Количество просмотров 3.6K
ASP.NET Core — это мощный и универсальный фреймворк для создания веб-приложений. Он предоставляет широкий набор возможностей для создания надежных и масштабируемых приложений, и одной из ключевых фич, расширяющих его функциональность, являются фильтры действий (Action Filters). Фильтры действий позволяют выполнять код до или после выполнения метода контроллера (или метода действия), что дает возможность добавить в приложение сквозной функционал.
В этой статье мы рассмотрим фильтры действий в ASP.NET Core, разберемся в их типах и научимся создавать пользовательские фильтры для расширения функциональности нашего веб-приложения.
Всего голосов 11: ↑9 и ↓2 +7
Добавить в закладки 31
Новости
все подряд лучшие
Sivchenko_translate 13 ноя в 01:30
В каких аспектах улучшилась производительность в ASP NET Core 8
Время на прочтение 26 мин
Количество просмотров 8.7K
ASP.NET Core 8 и .NET 8 обогатились многочисленными потрясающими нововведениями, благодаря которым повышается производительность. В этом посте мы подчеркнём некоторые улучшения, сделанные в ASP.NET Core, и покажем, как с их помощью можно нарастить скорость и эффективность работы веб-приложения. Этот пост можно считать продолжением Performance improvements in ASP.NET Core 7, выходившего в прошлом году. Естественно, при его подготовке я также вдохновлялся постом Performance Improvements in .NET 8. Многие из перечисленных улучшений также прямо или косвенно способствуют повышению производительности ASP.NET Core.
Всего голосов 28: ↑27 и ↓1 +26
Добавить в закладки 41
1kvin 14 окт в 05:15
Обзор библиотек для Hangfire
Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 1.5K
Hangfire — распределенный и расширяемый планировщик задач для приложений на.NET.
В этой статье я сделал небольшой обзор библиотек позволяющих расширить его возможности. Если вы не знаете что такое Hangfire, советую прочитать эту статью или заглянуть на официальный сайт.
Всего голосов 5: ↑4 и ↓1 +3
Добавить в закладки 11
1kvin 9 сен в 05:11
Инструменты создания API клиента для .NET
Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 5.1K
При начале разработки нового проекта у моей команды всегда появлялся вопрос, какую библиотеку выбрать для межсервисного взаимодействия? А какую использовать для походов в сторонние сервисы? В этой статье я постарался вкратце осветить различные обёртки над HttpClient.
Всего голосов 7: ↑7 и ↓0 +7
Добавить в закладки 78
Истории
MaxRokatansky 11 авг в 18:59
Работа с Sass в приложении ASP.NET Core
Время на прочтение 6 мин
Количество просмотров 2.4K
Sass (Syntactically Awesome Style Sheets) — это скриптовый язык, используемый для создания каскадных таблиц стилей (CSS-файлов). Его синтаксис очень похож на обычный CSS, но вдобавок он поддерживает использование переменных, вложенность, миксины и наследование для селекторов, чего очень не хватает в базовом CSS, ведь эти фичи незаменимы в организации и поддержке стилей вашего веб-приложения. В этой статье я продемонстрирую вам шаги, необходимые для добавления и настройки Sass в вашем ASP.NET Core проекте как в Visual Studio, так и в VS Code.
Sass — это инструмент для повышения производительности, который помогает вам выстраивать и поддерживать таблицы стилей. Среди основных его преимуществ можно выделить следующее:
Всего голосов 11: ↑10 и ↓1 +9
Добавить в закладки 27
IvanKucherov 7 авг в 13:48
Fancy Widgets — виджеты рабочего стола на AvaloniaUI
Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 2.8K
Около трёх месяцев назад, я и мой друг — начинающие .NET разработчики, решили разработать свои виджеты на рабочий стол Windows, так как официальных нормальных виджетов нет (те что в Windows 11 не считаются). Недавно мы выпустили наш проект в релиз, пока что есть 2 виджета (Погода и Заметки), но вскоре их может быть больше! Проект называется Fancy Widgets и мы хотим поделиться им с вами. Вы можете попробовать наши виджеты, скачав их с нашего сайта https://fancy-widgets.onrender.com. Это наш pet-проект и поэтому он ни на что не претендует, мы просто делали его для себя и для удовольствия. Но мы будем рады услышать ваше мнение и предложения по улучшению нашего продукта. Вы можете оставить свои комментарии под этой статьей или написать нам на нашу почту fancy.widgets.help@gmail.com. Цель этой статьи — вкратце рассказать о нашем проекте и о сложностях, которые возникли у нас при разработке. Мы надеемся, что вы найдете нашу статью интересной и полезной. Приятного чтения!
Всего голосов 4: ↑4 и ↓0 +4
Добавить в закладки 25
SautinMax 6 июн в 12:42
Работа с файлами в приложениях: как уйти от зарубежных .NET-библиотек
Время на прочтение 11 мин
Количество просмотров 7.4K
Когда в разрабатываемом приложении нужно конвертировать, создавать или изменять файлы, приходится подключать для этого готовые решения — чтобы не погружаться в спецификации форматов. Таких решений много, в том числе для С#, но вот незадача: все они зарубежные. В нынешних условиях применять их может быть неудобно, а кому-то даже нельзя.
Я Максим Саутин из компании SautinSoft. Хочу порассуждать, почему в России не было собственных разработок в этом направлении, и рассказать, как работают наши .NET-библиотеки, которые используются на российском рынке.
Всего голосов 39: ↑8 и ↓31 -23
Добавить в закладки 20
MaxRokatansky 19 мая в 14:04
ASP.Net Core: реализуем проверку Google reCAPTCHA V2
Время на прочтение 5 мин
Количество просмотров 1.9K
В этой статье Мудассар Хан (Mudassar Khan) продемонстрирует нам, как реализовать проверку Google reCAPTCHA V2 (версии 2.0) в ASP.Net Core MVC.
Приведенный в этой статье пример демонстрирует, как Google reCAPTCHA V2 проверяет ответы с капчей от пользователей, получаемые из коллбэк-функций в JavaScript.
Всего голосов 7: ↑6 и ↓1 +5
Добавить в закладки 10
ValeriyPus 11 мая в 17:18
Делаем свой генератор CRUD для asp.net mvc (часть 1 — получаем данные)
Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 2.7K
Недавно проходил очередное собеседование, попросили написать CRUD для данных из 5 таблиц с максимальной глубиной связей 3 (таблица 1->таблица 2->таблица 3).
В принципе, это по количеству работы аналог какого-нибудь форума (users, files, themes, groups, messages). Сделайте нам пожалуйста phphbb :). И слышать «Ой, а ваше решение плохо поддерживается» в ответ на труд более двух дней не хотелось.
Встроенный в VisualStudio генератор CRUD по EntityFramework тоже оказался почти бессилен.
Плюс, довольно известный генератор CRUD EasyData(ссылка) не поддерживает валидацию данных через атрибуты (по крайней мере на стороне сервера).
Всего голосов 6: ↑0 и ↓6 -6
Добавить в закладки 12
MaxRokatansky 2 мая в 16:32
C# и .NET: Blazor
Время на прочтение 5 мин
Количество просмотров 5.9K
Blazor — это технология, позволяющая создавать клиентские веб-приложения с использованием C# и .NET, а не JavaScript. Blazor может запускать ваш код одним из двух способов. Blazor WebAssembly выполняет код C# на стороне клиента в любом современном браузере, поддерживающем WebAssembly. Blazor Server отправляет события пользовательского интерфейса на стороне клиента обратно на сервер с помощью технологии SignalR, которая обеспечивает связь через сокеты в режиме реального времени между браузером и сервером. После обработки на сервере изменения пользовательского интерфейса отправляются обратно в браузер по тому же сокетному соединению.
Сегодня мы сосредоточимся на создании нового приложения Blazor WebAssembly.
Всего голосов 13: ↑11 и ↓2 +9
Добавить в закладки 34
Andrey_Biryukov 17 мар в 19:30
Безопасность ASP.NET
Уровень сложности Простой
Время на прочтение 12 мин
Количество просмотров 5.4K
Веб платформа ASP.NET за последние десятилетия получила достаточно широкое распространение. С ее помощью разрабатывают веб-сайты и веб-приложения с помощью таких средств как HTML, CSS и JavaScript. Также с помощью ASP.NET можно создавать веб-API и веб сокеты.
Одной из основных проблем при разработке в контексте безопасности является невозможность функциональной проверки у того, или иного приложения. То есть, при разработке приложения мы не можем просто подключить какие-то библиотеки, сделать какие-то настройки при сборке проекта, и затем сказать, что все, наше приложение защищено и можно передавать его в продакшен. Так не бывает. На практике возможны два основных сценария: худший когда мы узнаем о проблемах с безопасностью нашего приложения из СМИ и интернета, например, когда приложение взломали или, когда в сеть утекли данные, обрабатываемые нашим приложением (да, обычно эти утечки организуют бывшие или действующие сотрудники, и это не совсем вина приложения, но, как говориться осадочек все-равно остается). Более мягким является сценарий, когда мы узнаем об уязвимостях в нашем приложении в результате пентеста или когда сознательные исследователи сами сообщают разработчикам о найденных уязвимостях, например в рамках баг баунти. В таком случае нас скорее всего еще не скомпрометировали и репутационного ущерба для компании разработчика не будет. Ну а срочные баг фиксы выпускают все.
И к чему было все это вступление? ASP.NET является достаточно сложным решением, а сложность это всегда враг безопасности. С одной стороны вроде-бы злоумышленнику трудно разобраться в сложном решении, но с другой и защищать сложное решение тоже весьма непросто. И практика показывает, что очень часто именно злоумышленники быстрее разбираются в сложных системах и оперативно находят уязвимые места.