AspNet6InDepth
1.0.0
Ikhtisar ASP.NET 6
Dasar-dasar ASP.NET 6
Program.csIMiddlewareRequestDelegateapp.Use , app.Map , app.MapWhen , app.UseWhen dan app.Runapp.UseStaticFiles();app.UseCors();ProblemDetails standarappsettings.{environment}.json dan antarmuka IConfigurationIOptions<T>IOptionsSnapshot<T> atau IOptionsMonitor<T>HttpContext , HttpContext.Request dan HttpContext.ResponseRouteHttpGetAttribute , HttpPostAttribute , HttpPutAttribute , HttpPatchAttribute dan HttpDeleteAttributeFromQuery : Mendapatkan nilai dari string kueriFromRoute : Mendapatkan nilai dari data ruteFromForm : Mendapatkan nilai dari kolom formulir yang dipostingFromBody : Mendapatkan nilai dari isi permintaanFromHeader : Mendapatkan nilai dari header HTTPIActionResult<T> atau ActionResult<T>AcceptAccept disetel ke application/xmlAccept disetel ke application/jsonHTTP PatchCompare : Validasi jika dua properti dalam model cocok.EmailAddress : Validasi apakah properti memiliki format email.Phone : Validasi apakah suatu properti memiliki format nomor telepon.Range : Validasi jika nilai properti berada dalam rentang tertentu.RegularExpression : Validasi jika nilai properti cocok dengan ekspresi reguler yang ditentukan.Required : Validasi jika suatu bidang bukan nol.StringLength : Validasi jika nilai properti string tidak melebihi batas panjang yang ditentukan.Url : Validasi apakah properti memiliki format URL.IHttpClientFactory.CreateClient();gzipAspNetCoreRateLimit dengan penyedia memori.AspNetCoreRateLimit dan AspNetCoreRateLimit.Redis dengan penyedia Azure Cache for Redis.ILogger<T>logger.LogTrace pesan tingkat jejak loglogger.LogDebug pesan tingkat debug loglogger.LogInformation pesan tingkat informasi loglogger.Warning tingkat peringatan log peringatanlogger.Error log pesan tingkat kesalahanlogger.Critical pesan tingkat kritisAzure AppInsights SDKIHostedServiceBackgroundServiceSwashbuckle.AspNetCore untuk menambahkan dukungan Swagger OpenAPIswagger.json dari tingkat rootAkses Data pada Aplikasi ASP.NET 6 API
Akses Data menggunakan Micro ORM Dapper dan 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-db8c9aa55646Akses Data menggunakan EF Core 6 ORM dan PostgreSQL
DbSet<T> untuk memodelkan tabel di databaseDbContextidempotent/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-db8c9aa55646Caching Respons di Aplikasi ASP.NET 6 API
IMemoryCacheStackExchange.RedisKeamanan dalam Aplikasi ASP.NET 6 API
Tambahkan Otentikasi
Claim , ClaimsIdentity dan ClaimsPrincipalBCrypt.Net-NextSystem.IdentityModel.Tokens.Jwt/api/Account/Register untuk mendaftarkan pengguna/api/Account/Login untuk login pengguna dan menghasilkan set awal token akses dan token penyegaran/api/Account/Token untuk menyegarkan token akses menggunakan token penyegaran yang dikirim/api/Account/Revoke untuk mencabut token penyegaranTambahkan Otorisasi
IAuthorizationRequirementHandleRequirementAsync untuk membuat persyaratan kebijakan khususProgram.csStudi Kasus: Tambahkan Otentikasi JWT dan Otorisasi Peran menggunakan Auth0
Menangani unggahan file dan unduhan file
wwwroot folder.xlsx untuk meresponsPengujian
Pengujian Satuan
xUnit.net[Fact] dan [Theory]Dispose[InlineData][MemberData][ClassData]IClassFixtureICollectionFixtureMoqVerify() atau VerifyAll()Pengujian Integrasi
WebApplicationFactory<TStartup>xUnit.netKomunikasi Antar-Layanan yang sinkron menggunakan gRPC dan HTTP2
Komunikasi Antar-Layanan Asinkron menggunakan Antrean Pesan
Hosting aplikasi ASP.NET 6 API