Présentation d'ASP.NET 6
Principes fondamentaux d'ASP.NET 6
Program.csIMiddlewareRequestDelegateapp.Use , app.Map , app.MapWhen , app.UseWhen et app.Runapp.UseStaticFiles();app.UseCors();ProblemDetailsappsettings.{environment}.json et l'interface IConfigurationIOptions<T>IOptionsSnapshot<T> ou IOptionsMonitor<T>HttpContext , HttpContext.Request et HttpContext.ResponseRouteHttpGetAttribute , HttpPostAttribute , HttpPutAttribute , HttpPatchAttribute et HttpDeleteAttributeFromQuery : obtient les valeurs de la chaîne de requêteFromRoute : obtient les valeurs des données d'itinéraireFromForm : obtient les valeurs des champs de formulaire publiésFromBody : récupère les valeurs du corps de la requêteFromHeader : récupère les valeurs des en-têtes HTTPIActionResult<T> ou ActionResult<T>AcceptAccept est défini sur application/xmlAccept est défini sur application/jsonHTTP PatchCompare : Valide si deux propriétés d'un modèle correspondent.EmailAddress : Validez si une propriété a un format email.Phone : Validez si un bien possède un format de numéro de téléphone.Range : validez si la valeur d'une propriété se situe dans une plage spécifiée.RegularExpression : valide si une valeur de propriété correspond à une expression régulière spécifiée.Required : Valider si un champ n'est pas nul.StringLength : validez si la valeur d'une propriété de chaîne ne dépasse pas une limite de longueur spécifiée.Url : Validez si une propriété a un format URL.IHttpClientFactory.CreateClient();gzipAspNetCoreRateLimit avec fournisseur de mémoire.AspNetCoreRateLimit et AspNetCoreRateLimit.Redis avec le fournisseur Azure Cache pour Redis.ILogger<T>logger.LogTrace messages de niveau de trace du journallogger.LogDebug messages de niveau de débogage du journallogger.LogInformation messages de niveau d'information du journallogger.Warning messages de niveau d'avertissement du journallogger.Error messages de niveau d'erreur du journallogger.Critical log messages de niveau critiqueAzure AppInsightsIHostedServiceBackgroundServiceSwashbuckle.AspNetCore pour ajouter la prise en charge de Swagger OpenAPIswagger.json à partir du niveau racineAccès aux données dans l'application API ASP.NET 6
Accès aux données à l'aide de Micro ORM Dapper et 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-db8c9aa55646Accès aux données à l'aide d'EF Core 6 ORM et PostgreSQL
DbSet<T> aux tables de modèle dans la base de donnéesDbContextidempotent/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-db8c9aa55646Mise en cache des réponses dans l'application API ASP.NET 6
IMemoryCacheStackExchange.RedisSécurité dans l'application API ASP.NET 6
Ajouter une authentification
Claim , ClaimsIdentity et ClaimsPrincipalBCrypt.Net-NextSystem.IdentityModel.Tokens.Jwt/api/Account/Register pour enregistrer l'utilisateur/api/Account/Login pour connecter l'utilisateur et générer l'ensemble initial de jeton d'accès et de jeton d'actualisation/api/Account/Token pour actualiser le jeton d'accès à l'aide du jeton d'actualisation envoyé/api/Account/Revoke pour révoquer le jeton d'actualisationAjouter une autorisation
IAuthorizationRequirementHandleRequirementAsync pour créer une exigence de stratégie personnaliséeProgram.csÉtude de cas : ajouter l'authentification JWT et l'autorisation de rôle à l'aide d'Auth0
Gestion des téléchargements de fichiers et des téléchargements de fichiers
wwwroot folder.xlsx vers la réponseEssai
Tests unitaires
xUnit.net[Fact] et [Theory]Dispose[InlineData][MemberData][ClassData]IClassFixtureICollectionFixtureMoqVerify() ou VerifyAll()Tests d'intégration
WebApplicationFactory<TStartup>xUnit.netCommunication interservice synchrone utilisant gRPC et HTTP2
Communication interservices asynchrone à l'aide de files d'attente de messages
Hébergement de l'application API ASP.NET 6