MyBooks.club
Все категории

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

На сайте mybooks.club вы можете бесплатно читать книги онлайн без регистрации, включая Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен. Жанр: Программирование . Доступна полная версия книги с кратким содержанием для предварительного ознакомления, аннотацией (предисловием), рецензиями от других читателей и их экспертным мнением.
Кроме того, на сайте mybooks.club вы найдете множество новинок, которые стоит прочитать.

Название:
Язык программирования C#9 и платформа .NET5
Дата добавления:
26 август 2023
Количество просмотров:
42
Читать онлайн
Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен

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

Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен - описание и краткое содержание, автор Эндрю Троелсен, читайте бесплатно онлайн на сайте электронной библиотеки mybooks.club

В 10-м издании книги описаны новейшие возможности языка C# 9 и .NET 5 вместе с подробным "закулисным" обсуждением, призванным расширить навыки критического мышления разработчиков, когда речь идет об их ремесле.
Книга охватывает ASP.NET Core, Entity Framework Core и многое другое наряду с последними обновлениями унифицированной платформы .NET, начиная с улучшений показателей производительности настольных приложений Windows в .NET 5 и обновления инструментария XAML и заканчивая расширенным рассмотрением файлов данных и способов обработки данных.
Все примеры кода были переписаны с учетом возможностей последнего выпуска C# 9.

Язык программирования C#9 и платформа .NET5 читать онлайн бесплатно

Язык программирования C#9 и платформа .NET5 - читать книгу онлайн бесплатно, автор Эндрю Троелсен
class="empty-line"/>

В случае среды Development пакетирование и минификация отключаются. Для остальных сред минифицируются все файлы CSS, файл site.js и все файлы JavaScript (с расширением .js) в каталоге lib и его подкаталогах. Обратите внимание, что все пути в проекте начинаются с каталога wwwroot.

WebOptimizer также поддерживает пакетирование. В первом примере создается пакет с использованием универсализации файловых имен, а во втором — пакет, для которого приводится список конкретных имен:

options.AddJavaScriptBundle("js/validations/validationCode.js",

  "js/validations/**/*.js");

options.AddJavaScriptBundle("js/validations/validationCode.js",

  "js/validations/validators.js", "js/validations/errorFormatting.js");

Важно отметить, что минифицированные и пакетированные файлы на самом деле не находятся на диске, а помещаются в кеш. Также важно отметить, что минифицированные файлы сохраняют то же самое имя (site.js и не имеют обычное расширение .min (site.min.js).

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

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

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

@addTagHelper *, WebOptimizer.Core

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

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

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

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

{

  "Logging": {

    "MSSqlServer": {

      "schema": "Logging",

      "tableName": "SeriLogs",

      "restrictedToMinimumLevel": "Warning"

    }

  },

  "ApplicationName": "AutoLot.MVC",

  "AllowedHosts": "*",

  "DealerInfo": {

    "DealerName": "Skimedic's Used Cars",

    "City": "West Chester",

    "State": "Ohio"

  }

}

Далее понадобится создать модель представления для хранения информации об автодилере. Добавьте в каталог 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<DealerInfo>(Configuration.GetSection(nameof(DealerInfo)));

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

using Microsoft.Extensions.Options;

Затем модифицируйте метод Index(), как продемонстрировано далее:

[Route("/")]

[Route("/[controller]")]

[Route("/[controller]/[action]")]

[HttpGet]

public IActionResult Index([FromServices] IOptionsMonitor<DealerInfo> dealerMonitor)

{

  var vm = dealerMonitor.CurrentValue;

  return View(vm);

}

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

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

@model AutoLot.Mvc.Models.DealerInfo

@{

    ViewData["Title"] = "Home Page";

}

<div class="text-center">

    <h1 class="display-4">Welcome to @Model.DealerName</h1>

    <p class="lead">Located in @Model.City, @Model.State

</div>

На заметку! За дополнительными сведениями о шаблоне параметров в ASP.NET Core обращайтесь в документацию по ссылке https://docs.microsoft.com/ru-ru/aspnet/core/fundamentals/configuration/options.

Создание оболочки службы

Вплоть до этого момента в приложении AutoLot.Mvc применялся уровень доступа к данным напрямую. Еще один подход предусматривает использование службы AutoLot.Api, позволяя ей обрабатывать весь доступ к данным.

Обновление конфигурации приложения

Конечные точки приложения AutoLot.Api будут варьироваться на основе среды. Скажем, при разработке на вашей рабочей станции базовый URI выглядит как https://localhost:5021. В промежуточной среде им может быть https://mytestserver.com. Осведомленность о среде в сочетании с обновленной конфигурационной системой (представленной в главе 29) будут применяться для добавления разных значений.

Файл appsettings.Development.json добавит информацию о службе для локальной машины  По мере того как код перемещается по разным средам, настройки будут обновляться в специфическом файле среды, чтобы соответствовать базовому URI и конечным точкам для этой среды. В рассматриваемом примере вы обновляете только настройки для среды Development. Откройте файл appsettings.Development.json и модифицируйте его следующим образом (изменения выделены полужирным):

{

  "Logging": {

    "MSSqlServer": {

      "schema": "Logging",

      "tableName": "SeriLogs",

      "restrictedToMinimumLevel": "Warning"

    }

  },

  "RebuildDataBase": false,

  "ApplicationName": "AutoLot.Mvc - Dev",

  "ConnectionStrings": {

    "AutoLot": "Server=.,5433;Database=AutoLot;User ID=sa;Password=P@ssw0rd;"

  },

  "ApiServiceSettings": {

    "Uri": "https://localhost:5021/",

    "CarBaseUri": "api/Cars",

    "MakeBaseUri": "api/Makes"

  }

}

На заметку! Удостоверьтесь, что номер порта соответствует вашей конфигурации для AutoLot.Api.

За счет использования конфигурационной системы ASP.NET Core и обновления файлов, специфичных для среды (например, appsettings.staging.json и appsettings.production.json), ваше приложение будет располагать надлежащими значениями без необходимости в изменении кода.

Создание класса ApiServiceSettings

Настройки службы будут


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

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


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

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

Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*
Все материалы на сайте размещаются его пользователями.
Администратор сайта не несёт ответственности за действия пользователей сайта..
Вы можете направить вашу жалобу на почту librarybook.ru@gmail.com или заполнить форму обратной связи.