Упражнение. Использование встроенного ПО промежуточного слоя

Завершено

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

Ваша команда поручила вам создать веб-сайт barebones для вашей компании. Веб-сайт должен отобразить приветственное сообщение на главной странице и отобразить краткую историю компании на отдельной /about странице. Предыдущая версия приложения имела журнал компании по /history URL-адресу, поэтому вам нужно перенаправить запросы на /history/about поддержание совместимости с существующими ссылками.

Для выполнения этих задач вы будете использовать встроенный MapGet метод и UrlRewriter ПО промежуточного слоя.

Создание приложения ASP.NET Core

Вам потребуется приложение ASP.NET Core, чтобы играть роль приложения вашей команды. Давайте создадим новое приложение ASP.NET Core с помощью расширения набора средств разработки на C# в Visual Studio Code.

  1. Запустите Visual Studio Code.

  2. Нажмите клавиши CTRL+SHIFT+P , чтобы открыть палитру команд.

  3. Найдите и выберите .NET: Создать проект....

  4. Найдите и выберите ASP.NET Core Empty.

    Снимок экрана палитры команд с выбранным ASP.NET Core Empty.

  5. Выберите или создайте папку для нового проекта.

  6. Назовите новое приложение MyWebApp.

  7. Выберите Создать проект, и проект будет создан.

  8. Когда откроется новый проект, разверните Solution Explorer панель для просмотра файлов проекта.

Выполнить приложение

Протестируйте приложение, чтобы убедиться, что он выполняется.

  1. В Visual Studio Code нажмите клавишу F5 , чтобы создать и запустить приложение.

    1. При появлении запроса выберите C# в качестве отладчика.
    2. При появлении запроса выберите C#: MyWebApp [Конфигурация по умолчанию] в качестве используемой конфигурации запуска.

    Эта команда запускает приложение и размещает его на локальном веб-сервере. Откроется окно браузера и отображается сообщение "Hello, World!"

  2. Закройте окно браузера и остановите приложение, нажав клавиши SHIFT+F5 в Visual Studio Code.

Сопоставление конечных точек и добавление средства перезаписи URL-адресов

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

  1. Откройте файл Program.cs.

  2. В строке измените app.MapGet("/", () => "Hello World!"); сообщение "Hello World!" на "Добро пожаловать в Contoso!"

    app.MapGet("/", () => "Welcome to Contoso!");
    

    app.MapGet() сопоставляет HTTP-запрос GET с указанным путем. Эта функция ASP.NET Core называется маршрутизацией конечных точек. Этот код добавляет в конвейер ветвь. Если путь запроса равен /, ПО промежуточного слоя маршрутизации конечных точек направляет запрос в эту конечную точку, которая затем записывает сообщение "Добро пожаловать в Contoso!" в ответ.

  3. В следующей строке добавьте следующий код:

    app.MapGet("/about", () => "Contoso was founded in 2000.");
    

    Этот код добавляет другую конечную точку. Если путь запроса равен /about, конечная точка записывает сообщение "Наша компания была основана в 2000 году".

  4. Перед первым app.MapGet()добавьте следующий код:

    app.UseRewriter(new RewriteOptions().AddRedirect("history", "about"));
    

    Этот код добавляет компонент по промежуточного слоя перезаписи URL-адресов, который перенаправляет запросы из /history/about. Метод AddRedirect() принимает два параметра: шаблон регулярного выражения для сопоставления пути запроса и путь замены для перенаправления.

  5. Добавьте следующую директиву в начало файла.

    using Microsoft.AspNetCore.Rewrite;
    

    Эта директива разрешает ссылку на RewriteOptions класс.

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

  1. Сохраните все изменения и запустите приложение, как и раньше.
  2. Когда откроется окно браузера, обратите внимание, что корневой URL-адрес отображает сообщение "Добро пожаловать в Contoso!" Добавьте /about в URL-адрес и нажмите клавишу ВВОД. В браузере должно отобразиться сообщение "Компания Contoso была основана в 2000 году".
  3. Замените /about URL-адресом /history и нажмите клавишу ВВОД. Браузер должен перенаправляться в /about.
  4. Оставьте приложение запущенным для следующего упражнения.