AspNet6InDepth
1.0.0
Обзор ASP.NET 6
Основы ASP.NET 6
Program.csIMiddlewareRequestDelegateapp.Use , app.Map , app.MapWhen , app.UseWhen и app.Runapp.UseStaticFiles();app.UseCors();ProblemDetailsappsettings.{environment}.json и интерфейса IConfigurationIOptions<T>IOptionsSnapshot<T> или IOptionsMonitor<T>HttpContext , HttpContext.Request и HttpContext.ResponseRoute .HttpGetAttribute , HttpPostAttribute , HttpPutAttribute , HttpPatchAttribute и HttpDeleteAttributeFromQuery : получает значения из строки запроса.FromRoute : получает значения из данных маршрута.FromForm : получает значения из опубликованных полей формы.FromBody : получает значения из тела запроса.FromHeader : получает значения из заголовков HTTP.IActionResult<T> или ActionResult<T>Accept .Accept установлено значение application/xmlAccept установлено значение application/jsonHTTP PatchCompare : проверьте, совпадают ли два свойства в модели.EmailAddress : проверьте, имеет ли свойство формат электронной почты.Phone : проверьте, имеет ли свойство формат телефонного номера.Range : проверьте, попадает ли значение свойства в указанный диапазон.RegularExpression : проверяет, соответствует ли значение свойства указанному регулярному выражению.Required : проверьте, не является ли поле пустым.StringLength : проверяет, не превышает ли значение свойства строки указанный предел длины.Url : проверьте, имеет ли свойство формат URL.IHttpClientFactory.CreateClient();gzip .AspNetCoreRateLimit с поставщиком памяти.AspNetCoreRateLimit и AspNetCoreRateLimit.Redis с поставщиком кэша Azure для Redis.ILogger<T>logger.LogTrace сообщения уровня трассировки журналаlogger.LogDebug записывает сообщения уровня отладкиlogger.LogInformation сообщения уровня информации журналаlogger.Warning Сообщения уровня предупреждений журналаlogger.Error log сообщения об уровне ошибокlogger.Critical регистрирует сообщения критического уровняAzure AppInsights SDK.IHostedServiceBackgroundServiceSwashbuckle.AspNetCore для добавления поддержки Swagger OpenAPI.swagger.json с корневого уровня.Доступ к данным в приложении API ASP.NET 6
Доступ к данным с использованием Micro ORM Dapper и PostgreSQL
/api/Persons?page=1&limit=10/api/Persons?searchAfter=4499b79a-c710-45e4-ba87-083d22c4d6ad_2023-04-17T12:00:25&limit=10/api/Persons/b1333cad-9d7c-4a64-8823-db8c9aa55646/api/Persons/api/Persons/b1333cad-9d7c-4a64-8823-db8c9aa55646/api/Persons/b1333cad-9d7c-4a64-8823-db8c9aa55646Доступ к данным с использованием EF Core 6 ORM и PostgreSQL
DbSet<T> в таблицы модели в базе данных.DbContextidempotent ./api/Employees?page=1&limit=10/api/Employees?searchAfter=4499b79a-c710-45e4-ba87-083d22c4d6ad_2023-04-17T12:00:25&limit=10/api/Employees/b1333cad-9d7c-4a64-8823-db8c9aa55646/api/Employees/api/Employees/b1333cad-9d7c-4a64-8823-db8c9aa55646/api/Employees/b1333cad-9d7c-4a64-8823-db8c9aa55646Кэширование ответов в приложении API ASP.NET 6
IMemoryCacheStackExchange.RedisБезопасность в приложении API ASP.NET 6
Добавить аутентификацию
Claim , ClaimsIdentity и ClaimsPrincipalBCrypt.Net-Next nuget.System.IdentityModel.Tokens.Jwt/api/Account/Register для регистрации пользователя/api/Account/Login для входа в систему пользователя и создания исходного набора токена доступа и токена обновления./api/Account/Token для обновления токена доступа с использованием отправленного токена обновления./api/Account/Revoke чтобы отозвать токен обновления.Добавить авторизацию
IAuthorizationRequirementHandleRequirementAsync , чтобы создать требование настраиваемой политики.Program.csПрактический пример: добавление аутентификации JWT и авторизации ролей с использованием Auth0
Обработка загрузки файлов и загрузок файлов
wwwroot folder.xlsx в ответТестирование
Модульное тестирование
xUnit.net[Fact] и [Theory]Dispose[InlineData][MemberData][ClassData]IClassFixtureICollectionFixtureMoqVerify() или VerifyAll()Интеграционное тестирование
WebApplicationFactory<TStartup>xUnit.net .Синхронная межсервисная связь с использованием gRPC и HTTP2.
Асинхронная межсервисная связь с использованием очередей сообщений
Размещение приложения ASP.NET 6 API