Mir-knigi.info
mir-knigi.info » Книги » Компьютеры и интернет » Базы данных » Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Тут можно читать бесплатно Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю. Жанр: Базы данных. Так же Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте mir-knigi.info (Mir knigi) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Перейти на страницу:

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

Обновление _Viewlmports.cshtml

 На финальном шаге в систему добавляются вспомогательные функции дескрипторов WebOptimizer. Они работают точно так же, как вспомогательные функции дескрипторов

asp-append-version
, описанные ранее в главе, но делают это автоматически для всех пакетированных и минифицированных файлов. Поместите в конец файла
_ViewImports.cshtml
следующую строку:

@addTagHelper *, WebOptimizer.Core

Шаблон параметров в ASP.NET Core

Шаблон параметров обеспечивает доступ сконфигурированных классов настроек к другим классам через внедрение зависимостей. Конфигурационные классы могут быть внедрены в другой класс с применением одной их версий

IOptions<T>
. В табл. 31.6 кратко описан ряд версий интерфейса
IOptions
.

Язык программирования C#9 и платформа .NET5 - _312.png

Добавление информации об автодилере

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

appsettings.json
:

{

  "Logging": {

    "MSSqlServer": {

      "schema": "Logging",

      "tableName": "SeriLogs",

      "restrictedToMinimumLevel": "Warning"

    }

  },

  "ApplicationName": "AutoLot.MVC",

  "AllowedHosts": "*",

<b>  &quot;DealerInfo&quot;: {</b>

<b>    &quot;DealerName&quot;: &quot;Skimedic's Used Cars&quot;,</b>

<b>    &quot;City&quot;: &quot;West Chester&quot;,</b>

<b>    &quot;State&quot;: &quot;Ohio&quot;</b>

<b>  }</b>

}

Далее понадобится создать модель представления для хранения информации об автодилере. Добавьте в каталог

Models
проекта
AutoLot.Mvc
новый файл класса по имени
DealerInfo.cs
со следующим содержимым:

namespace AutoLot.Mvc.Models

{

  public class DealerInfo

  {

    public string DealerName { get; set; }

    public string City { get; set; }

  public string State { get; set; }

  }

}

На заметку! Конфигурируемый класс должен иметь открытый конструктор без параметров и не быть абстрактным. Стандартные значения можно устанавливать в свойствах класса.

Метод

Configure()
интерфейса
IServiceCollection
сопоставляет раздел конфигурационных файлов с конкретным типом. Затем этот тип может быть внедрен в классы и представления с применением шаблона параметров. Откройте файл
Startup.cs
и добавьте в него показанный ниже оператор
using
:

using AutoLot.Mvc.Models;

Перейдите к методу

ConfigureServices()
и поместите в него следующую строку кода:

services.Configure&lt;DealerInfo&gt;(Configuration.GetSection(nameof(DealerInfo)));

Откройте файл

HomeController.cs
и добавьте в него такой оператор
using
:

using Microsoft.Extensions.Options;

Затем модифицируйте метод

Index()
, как продемонстрировано далее:

[Route(&quot;/&quot;)]

[Route(&quot;/[controller]&quot;)]

[Route(&quot;/[controller]/[action]&quot;)]

[HttpGet]

public IActionResult Index<b>([FromServices] IOptionsMonitor&lt;DealerInfo&gt; dealerMonitor)</b>

<b>{</b>

<b>  var vm = dealerMonitor.CurrentValue;</b>

<b>  return View(vm);</b>

}

Когда класс сконфигурирован в коллекции служб и добавлен в контейнер DI, его можно извлечь с использованием шаблона параметров. В рассматриваемом примере

OptionsMonitor
будет читать конфигурационный файл, чтобы создать экземпляр класса
DealerInfo
. Свойство
CurrentValue
получает экземпляр
DealerInfo
, созданный из текущего файла настроек (даже если файл изменялся после запуска приложения). Затем экземпляр
DealerInfo
передается представлению
Index.cshtml
.

Обновите представление

Index.cshtml
, расположенное в каталоге
ViewsHome
, чтобы оно было строго типизированным для класса
DealerInfo
и отображало свойства модели:

@model AutoLot.Mvc.Models.DealerInfo

Перейти на страницу:

Троелсен Эндрю читать все книги автора по порядку

Троелсен Эндрю - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки mir-knigi.info.


Язык программирования C#9 и платформа .NET5 отзывы

Отзывы читателей о книге Язык программирования C#9 и платформа .NET5, автор: Троелсен Эндрю. Читайте комментарии и мнения людей о произведении.


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор mir-knigi.info.


Прокомментировать
Подтвердите что вы не робот:*