asp net core что это такое

Введение в ASP.NET Core

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

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

Разработка над платформой началась еще в 2014 году. Тогда платформа условно называлась ASP.NET vNext. В июне 2016 года вышел первый релиз платформы. А в ноябре 2020 года вышла версия ASP.NET Core 5.0, которая собственно и будет охвачена в текущем руководстве.

ASP.NET Core теперь полностью является opensource-фреймворком. Все исходные файлы фреймворка доступны на GitHub.

Благодаря модульности фреймворка все необходимые компоненты веб-приложения могут загружаться как отдельные модули через пакетный менеджер Nuget. Кроме того, в отличие от предыдущих версий платформы нет необходимости использовать библиотеку System.Web.dll.

ASP.NET Core включает в себя фреймворк MVC, который объединяет функциональность MVC, Web API и Web Pages. В предыдущих версии платформы данные технологии реализовались отдельно и поэтому содержали много дублирующей функциональности. Сейчас же они объединены в одну программную модель ASP.NET Core MVC. А Web Forms полностью ушли в прошлое.

Кроме объединения вышеупомянутых технологий в одну модель в MVC был добавлен ряд дополнительных функций.

Одной из таких функций являются тэг-хелперы (tag helper), которые позволяют более органично соединять синтаксис html с кодом С#.

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

Также было упрощено управление зависимостями и конфигурирование проекта. Фреймворк теперь имеет свой легковесный контейнер для внедрения зависимостей, и больше нет необходимости применять сторонние контейнеры, такие как Autofac, Ninject. Хотя при желании их также можно продолжать использовать.

В качестве инструментария разработки мы можем использовать последние выпуски Visual Studio, начиная с версии Visual Studio 2015. Кроме того, мы можем создавать приложения в среде Visual Studio Code, которая является кросс-платформенной и может работать как на Windows, так и на Mac OS X и Linux.

Для обработки запросов теперь используется новый конвейер HTTP, который основан на компонентах Katana и спецификации OWIN. А его модульность позволяет легко добавить свои собственные компоненты.

Если суммировать, то можно выделить следующие ключевые отличия ASP.NET Core от предыдущих версий ASP.NET:

Новый легковесный и модульный конвейер HTTP-запросов

Возможность развертывать приложение как на IIS, так и в рамках своего собственного процесса

Распространение пакетов платформы через NuGet

Интегрированная поддержка для создания и использования пакетов NuGet

Единый стек веб-разработки, сочетающий Web UI и Web API

Конфигурация для упрощенного использования в облаке

Встроенная поддержка для внедрения зависимостей

Кроссплатформенность: возможность разработки и развертывания приложений ASP.NET на Windows, Mac и Linux

Развитие как open source, открытость к изменениям

Эти и другие особенности и возможности стали основой для новой модели программирования.

Источник

Основы ASP.NET Core

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

Класс Startup

В классе Startup делается следующее.

Пример класса Startup :

Для получения дополнительной информации см. Запуск приложения в ASP.NET Core.

Введение зависимостей (службы)

ASP.NET Core включает встроенную платформу внедрения зависимостей, позволяющую обращаться к настроенным службам в рамках приложения. Например, службой является компонент ведения журнала.

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

В следующем примере показано использование внедрения конструктора для разрешения RazorPagesMovieContext из системы внедрения зависимостей.

Если встроенный контейнер с инверсией управления (IoC) не удовлетворяет всем потребностям приложения, вместо него можно использовать сторонний контейнер IoC.

Для получения дополнительной информации см. Внедрение зависимостей в ASP.NET Core.

ПО промежуточного слоя

В следующем примере показана настройка конвейера обработки запросов.

ASP.NET Core содержит большой набор встроенного ПО промежуточного слоя. Кроме того, можно создать пользовательские компоненты ПО промежуточного слоя.

Для получения дополнительной информации см. ПО промежуточного слоя ASP.NET Core.

При запуске приложение ASP.NET Core создает узел. Узел инкапсулирует все ресурсы приложения:

Существует два различных узла:

Методы CreateDefaultBuilder и ConfigureWebHostDefaults применяются для настройки узла с набором параметров по умолчанию, например:

Сценарии, не связанные с Интернетом

Серверы

ASP.NET Core предоставляет следующие реализации серверов:

Для получения дополнительной информации см. Реализации веб-сервера в ASP.NET Core.

Параметр Configuration

ASP.NET Core предоставляет платформу конфигурации, которая получает параметры в виде пар «имя-значение» от упорядоченного набора поставщиков конфигурации. Доступны встроенные поставщики конфигурации для различных источников, таких как файлы JSON, XML, переменные среды и аргументы командной строки. Для поддержки других источников можно создать настраиваемые поставщики конфигурации.

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

Среды

Ведение журнала

ASP.NET Core поддерживает API ведения журналов, который работает с разными встроенными и сторонними поставщиками. Доступные следующие поставщики:

Для создания журналов необходимо разрешить службу ILogger из системы внедрения зависимостей (DI) и вызвать методы ведения журналов, такие как LogInformation. Пример:

Маршрутизация

Маршрут — это шаблон URL-адреса, сопоставляемый с обработчиком. Обычно обработчик представляет собой страницу Razor, метод действия в контроллере MVC или ПО промежуточного слоя. Маршрутизация ASP.NET Core позволяет контролировать URL-адреса, используемые приложением.

Для получения дополнительной информации см. Маршрутизация в ASP.NET Core.

Обработка ошибок

ASP.NET Core содержит встроенные функции обработки ошибок, такие как:

Для получения дополнительной информации см. Обработка ошибок в ASP.NET Core.

Создание HTTP-запросов

Корневой каталог содержимого

Корневой каталог содержимого — это базовый путь к следующим элементам:

Во время развертывания корень содержимого по умолчанию сбрасывается до корневого каталога проекта. Этот каталог является базовым путем к файлам содержимого приложения и корневому веб-каталогу. Альтернативный корневой путь к содержимому может быть указан при создании узла. Дополнительные сведения: Корень содержимого.

Корневой веб-узел

Корневой веб-каталог — это базовый путь к общедоступным файлам статических ресурсов, например:

По умолчанию статические файлы обслуживаются только в корневом веб-каталоге и его подкаталогах. По умолчанию используется путь <корневой каталог содержимого>/wwwroot. Альтернативное расположение корневого веб-каталога можно указать при создании узла. Дополнительные сведения см. в разделе Корневой веб-каталог.

Запретите публикацию файлов в wwwroot с помощью элемента проекта в файле проекта. В следующем примере запрещается публикация содержимого в каталоге wwwroot/local и его подкаталогах:

Для указания на корневой каталог файлов Razor (CSHTML) используется символ тильды и косой черты

Для получения дополнительной информации см. Статические файлы в ASP.NET Core.

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

Класс Startup

В классе Startup делается следующее.

Пример класса Startup :

Для получения дополнительной информации см. Запуск приложения в ASP.NET Core.

Введение зависимостей (службы)

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

Ниже показан класс, который использует внедрение зависимостей для получения объекта контекста Entity Framework Core. Выделенная строка является примером внедрения через конструктор.

Несмотря на то, что система внедрения зависимостей является встроенной, она позволяет вам при желании подключать сторонний контейнер с инверсией управления (IoC).

Для получения дополнительной информации см. Внедрение зависимостей в ASP.NET Core.

ПО промежуточного слоя

Код настройки конвейера обработки запросов выделен в следующем примере:

ASP.NET Core включает обширный набор встроенного ПО промежуточного слоя и позволяет вам писать свое собственное.

Для получения дополнительной информации см. ПО промежуточного слоя ASP.NET Core.

Приложение ASP.NET Core создает узел при запуске. Узел — это объект, который инкапсулирует все ресурсы приложения.

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

Доступны два узла: веб-узел и универсальный узел. В ASP.NET Core 2.x универсальный узел используется в сценариях, не связанных с Интернетом.

Код для создания узла находится в Program.Main :

Метод CreateDefaultBuilder применяется для настройки узла с часто используемыми параметрами, например:

Для получения дополнительной информации см. Веб-узел ASP.NET Core.

Сценарии, не связанные с Интернетом

Серверы

ASP.NET Core предоставляет следующие реализации серверов:

ASP.NET Core предоставляет следующие реализации серверов:

Для получения дополнительной информации см. Реализации веб-сервера в ASP.NET Core.

Параметр Configuration

ASP.NET Core предоставляет платформу конфигурации, которая получает параметры в виде пар «имя-значение» от упорядоченного набора поставщиков конфигурации. Доступны встроенные поставщики конфигурации для различных источников, таких как файлы JSON, XML, переменные среды и аргументы командной строки. Кроме того, вы можете писать поставщики конфигурации сами.

Параметры

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

Например, следующий код задает параметры WebSockets:

Для получения дополнительной информации см. Шаблон параметров в ASP.NET Core.

Среды

В следующем примере кода из класса Startup показана настройка приложения для вывода подробных сведений об ошибках исключительно при запуске в среде разработки:

Ведение журнала

ASP.NET Core поддерживает API ведения журналов, который работает с разными встроенными и сторонними поставщиками. Доступны следующие поставщики:

Записи в журналы можно вносить в любом месте кода приложения. Для этого нужно получить объект ILogger из внедрения зависимостей и вызвать методы ведения журналов.

Интерфейс ILogger позволяет передавать в поставщик ведения журналов любое количество полей. Как правило, поля используются для создания строки сообщения, но поставщик также может отправлять их в хранилище данных в виде отдельных полей. Благодаря этому поставщики могут реализовывать семантическое (структурированное) ведение журналов.

Маршрутизация

Маршрут — это шаблон URL-адреса, сопоставляемый с обработчиком. Обычно обработчик представляет собой страницу Razor, метод действия в контроллере MVC или ПО промежуточного слоя. Маршрутизация ASP.NET Core позволяет контролировать URL-адреса, используемые приложением.

Для получения дополнительной информации см. Маршрутизация в ASP.NET Core.

Обработка ошибок

ASP.NET Core содержит встроенные функции обработки ошибок, такие как:

Для получения дополнительной информации см. Обработка ошибок в ASP.NET Core.

Создание HTTP-запросов

Корневой каталог содержимого

Корневой каталог содержимого — это базовый путь к таким элементам:

Во время разработки:

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

Корневой веб-узел

Корневой веб-каталог — это базовый путь к общедоступным, не кодовым файлам статических ресурсов, например:

Статические файлы обслуживаются по умолчанию только в корневом веб-каталоге (и подкаталогах).

По умолчанию используется путь <корневой каталог содержимого>/wwwroot. Альтернативное расположение можно задать при создании узла. Дополнительные сведения см. в разделе Корневой веб-каталог.

Запретите публикацию файлов в wwwroot с помощью элемента проекта в файле проекта. В следующем примере запрещается публикация содержимого в каталоге wwwroot/local и подкаталогах:

Для указания на корневой каталог файлов Razor (CSHTML) используется символ тильды и косой черты

Источник

Обзор ASP.NET

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

Начало работы

Установите Visual Studio 2019 Community Edition — бесплатную интегрированную среду разработки для ASP.NET в Windows.

Сайты и веб-приложения

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

Каждая платформа предназначена для определенного стиля разработки. Ваш выбор зависит от сочетания навыков программирования (знаний, опыта разработки), типа создаваемого приложения и удобного вам подхода к разработке.

Ниже приведен обзор каждой из платформ и некоторые идеи о выборе между ними. Если вы предпочитаете введение в видео, см. статью создание веб- сайтов с помощью ASP.NET и что такое Web Tools?

Веб-формы

С веб-формами ASP.NET можно создавать динамические веб-сайты, используя знакомую модель перетаскивания, управляемую событиями. Область конструирования и сотни элементов управления и компонентов позволяют быстро создавать комплексные сайты с эффективным пользовательским интерфейсом и доступом к данным.

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

Веб-страницы ASP.NET

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

Примечания о веб-формах, MVC и веб-страницах

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

Веб-API

Технологии в реальном времени

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

Мобильные приложения и сайты

ASP.NET может работать с собственными мобильными приложениями с помощью серверной части веб-API, а также мобильных веб-сайтов, использующих такие платформы разработки, как начальная загрузка Twitter. При создании собственного мобильного приложения можно легко создать веб-API на основе JSON для управления доступом к данным, проверкой подлинности и Push-уведомлениями для приложения. Если вы создаете реагирующий мобильный сайт, вы можете использовать любую платформу CSS или открытую систему сетки или выбрать мощную мобильную систему, например jQuery Mobile или Sencha, а также замечательные мобильные приложения с PhoneGap.

Одностраничные приложения

Одностраничные приложения ASP.NET (SPA) позволяют создавать приложения, включающие значительное взаимодействие на стороне клиента, с использованием HTML 5, CSS 3 и JavaScript. Visual Studio включает шаблон для создания одностраничных приложений с помощью knockout.js и веб-API ASP.NET. Помимо встроенного шаблона SPA-шаблоны, созданные сообществом разработчиков, также доступны для загрузки.

Веб-перехватчики

Веб-перехватчик — это упрощенный HTTP-шаблон, обеспечивающий простую модель подписки для связи друг с другом веб-API и SaaS-служб. Когда в службе происходит событие, зарегистрированным подписчикам отправляется уведомление в форме POST HTTP-запроса. Запрос POST содержит сведения о событии, благодаря чему получатель может выполнить соответствующие действия.

Веб-перехватчики используются в большом количестве служб, включая Dropbox, GitHub, Instagram, MailChimp, PayPal, Slack, Trello и многих других. Например, веб-перехватчик может указывать, что файл был изменен в Dropbox, изменение кода зафиксировано в GitHub, платеж был инициализирован в PayPal или была создана карточка в Trello.

Источник

Общие сведения ASP.NET Core MVC

Автор: Стив Смит (Steve Smith)

ASP.NET MVC является многофункциональной платформой для создания веб-приложений и API-интерфейсов с помощью структуры проектирования Model-View-Controller.

Шаблон MVC

Структура архитектуры MVC разделяет приложение на три основных группы компонентов: модели, представлении и контроллеры. Это позволяет реализовать принципы разделения задач. Согласно этой структуре запросы пользователей направляются в контроллер, который отвечает за работу с моделью для выполнения действий пользователей и (или) получение результатов запросов. Контроллер выбирает представление для отображения пользователю со всеми необходимыми данными модели.

На следующей схеме показаны три основных компонента и существующие между ними связи.

asp net core что это такое. Смотреть фото asp net core что это такое. Смотреть картинку asp net core что это такое. Картинка про asp net core что это такое. Фото asp net core что это такое

Такое распределение обязанностей позволяет масштабировать приложение в контексте сложности, так как проще писать код, выполнять отладку и тестирование компонента (модели, представления или контроллера) с одним заданием. Гораздо труднее обновлять, тестировать и отлаживать код, зависимости которого находятся в двух или трех этих областях. Например, логика пользовательского интерфейса, как правило, подвергается изменениям чаще, чем бизнес-логика. Если код представления и бизнес-логика объединены в один объект, содержащий бизнес-логику, объект необходимо изменять при каждом обновлении пользовательского интерфейса. Это часто приводит к возникновению ошибок и необходимости повторно тестировать бизнес-логику после каждого незначительного изменения пользовательского интерфейса.

Представление и контроллер зависят от модели. Однако сама модель не зависит ни от контроллера, ни от представления. Это является одним из ключевых преимуществ разделения. Такое разделение позволяет создавать и тестировать модели независимо от их визуального представления.

Функции модели

Модель в приложении MVC представляет состояние приложения и бизнес-логику или операций, которые должны в нем выполняться. Бизнес-логика должна быть включена в состав модели вместе с логикой реализации для сохранения состояния приложения. Как правило, строго типизированные представления используют типы ViewModel, предназначенные для хранения данных, отображаемых в этом представлении. Контроллер создает и заполняет эти экземпляры ViewModel из модели.

Функции представления

Функции контроллера

Контроллеры — это компоненты для управления взаимодействием с пользователем, работы с моделью и выбора представления для отображения. В приложении MVC представление служит только для отображения информации. Обработку введенных данных, формирование ответа и взаимодействие с пользователем обеспечивает контроллер. В структуре MVC контроллер является начальной отправной точкой и отвечает за выбор рабочих типов моделей и отображаемых представлений (именно этим объясняется его название — он контролирует, каким образом приложение отвечает на конкретный запрос).

Контроллеры не должны быть чересчур сложными из-за слишком большого количества обязанностей. Чтобы не перегружать логику контроллера, перенесите бизнес-логику из контроллера в модель предметной области.

Если ваш контроллер часто выполняет одни и те же виды действий, переместите эти действия в фильтры.

ASP.NET Core MVC

ASP.NET Core MVC представляет собой упрощенную, эффективно тестируемую платформу с открытым исходным кодом, оптимизированную для использования с ASP.NET Core.

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

Маршрутизация

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

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

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

Привязка модели

Привязка модели в ASP.NET Core MVC преобразует данные запроса клиента (значения форм, данные маршрута, параметры строки запроса, заголовки HTTP) в объекты, которые может обрабатывать контроллер. В результате логике контроллера не требуется определять данные входящего запроса — данные просто доступны в виде параметров для методов действий.

Проверка модели

ASP.NET MVC поддерживает возможность проверки, дополняя модель объекта атрибутами проверки заметок к данным. Атрибуты проверки проверяются на стороне клиента до размещения значений на сервере, а также на сервере перед выполнением действия контроллера.

Платформа обрабатывает проверку данных запроса на клиенте и на сервере. Логика проверки, указанная в типах модели, добавляется в готовые для просмотра представления в виде ненавязчивых заметок и реализуется в браузере с помощью подключаемого модуля jQuery Validation.

Внедрение зависимостей

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

Кроме того, приложение может использовать внедрение зависимостей в файлы представления с помощью директивы @inject :

Фильтры

Фильтры помогают разработчикам решать общие задачи, такие как обработка исключений или авторизация. Фильтры активируют пользовательскую логику предварительной и завершающей обработки для методов действий и могут быть настроены для запуска в определенные моменты в конвейерном выполнении определенного запроса. Фильтры могут применяться к контроллерам или действиям в виде атрибутов (или могут выполняться глобально). В состав платформы входит несколько фильтров (например, Authorize ). [Authorize] является атрибутом, который используется для создания фильтров авторизации MVC.

Области

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

Веб-API

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

Платформа поддерживает согласования содержимого HTTP со встроенной поддержкой для форматирования данных в виде JSON или XML. Пишите пользовательские модули форматирования для добавления поддержки собственных форматов.

Используйте функции создания ссылок для поддержки гипермедиа. Легко включайте поддержку общего доступа к ресурсам независимо от источника (CORS) для совместного использования веб-API в нескольких веб-приложениях.

Тестирование

Благодаря используемым интерфейсам и внедрению зависимостей платформа хорошо подходит для модульного тестирования. Кроме того, с помощью таких компонентов, как TestHost и поставщик InMemory для Entity Framework, можно быстро и просто выполнять интеграционные тесты. Узнайте больше о тестировании логики контроллеров.

Razor Просмотреть подсистему

ASP.NET Core представления MVC используют Razor обработчик представлений для отображения представлений. Razor — Это компактный, выразительный и жидкий язык разметки шаблонов для определения представлений с помощью встраиваемого кода C#. Razor используется для динамического создания веб-содержимого на сервере. Серверный код можно полностью комбинировать с содержимым и кодом на стороне клиента.

С помощью Razor обработчика представлений можно определять макеты, частичные представления и заменяемые разделы.

Строго типизированные представления

Razor представления в MVC могут быть строго типизированы на основе модели. Контроллеры передают строго типизированную модель в представления для поддержки в них IntelliSense и проверки типов.

Например, следующее представление отображает модель типа IEnumerable

Вспомогательные функции тегов

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

Существует множество встроенных вспомогательных функций тегов для общих задач — например, для создания форм, ссылок, загрузки ресурсов и т. д. Кроме того, огромное количество функций доступно в общедоступных репозиториях GitHub и в качестве пакетов NuGet. Вспомогательные функции тегов разрабатываются на C# и предназначены для HTML-элементов на основе имени элемента, имени атрибута или родительского тега. Например, встроенную функцию LinkTagHelper можно использовать для создания ссылки на действие AccountsController для Login :

С помощью EnvironmentTagHelper можно включать в приложения различные сценарии (например, необработанные или минифицированные) для конкретной среды выполнения (разработки, промежуточной или производственной):

Вспомогательные функции тегов обеспечивают удобный для HTML процесс разработки и расширенную среду IntelliSense для создания HTML и Razor разметки. Большинство встроенных вспомогательных функций тегов работают с существующими HTML-элементами и предоставляют для них атрибуты на стороне сервера.

Компоненты представлений

Компоненты представлений позволяют упаковывать логику отрисовки и повторно использовать ее в приложении. Они аналогичны частичным представлениям, но имеют связанную логику.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *