Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 2036

มาดูความสามารถที่น่าสนใจของ ASP.NET Core ใน .NET 9

$
0
0

ทาง Microsoft เพิ่งปล่อย .NET 9 ตัวเต็มออกมา
ทำการเพิ่ม feature ปรับปรุง experience และ performance หลายอย่าง
ดังนั้นจึงทำการ download และลองใช้งานกันดูหน่อย ว่าเป็นอย่างไร
มาเริ่มกันเลย

จะใช้งาน ASP.NET Core เป็นหลัก สำหรับการพัฒนา
ทั้งส่วนของ Frontend และ Backend
ส่วนใหญ่ผมจะใช้สำหรับพัฒนา RESTFul API ฝั่ง Backend มากกว่า

ความสามารถแรกที่น่าสนใจคือ ปรับปรุงเรื่อง Static file

ช่วย optimize ขนาดของ static file เช่น HTML, CSS, JS, image ใน assets
โดยใน code สามารถเพิ่ม app.MapStaticAssets();
ซึ่งเข้ามาแทนการใช้งาน app.UseStaticFiles();
จะทำการบีบอัด fiile ต่าง ๆ ให้

  • gzip ใน development
  • gzip + brotli ในการ publish
  • ใส่ Etags ให้

ต่อมาคือ Build-in OpenAPI document ให้เลย

ดังนั้นมาลองใช้งานกันหน่อย

เริ่มด้วยการติดตั้ง และ สร้าง project

[gist id="8a3a6026bc54c7dc9a3160774ad55d5c" file="1.txt"]

มาดู code

[gist id="8a3a6026bc54c7dc9a3160774ad55d5c" file="api.cs"]
  • เพิ่ม AddOpenApi มาใน service
  • เพิ่ม MapOpenAPI ใน router/endpoint

ทำการติดตั้ง dependency เข้ามาคือ

[gist id="8a3a6026bc54c7dc9a3160774ad55d5c" file="2.txt"]

ผลการทำงาน

[gist id="8a3a6026bc54c7dc9a3160774ad55d5c" file="3.txt"]

แต่ถ้าต้องการแสดงผลในรูปแบบ UI สวย ๆ ในระบบงานเลย
ต้องทำการติดตั้ง library เพิ่มเติม เช่น

  • Swashbuckle.AspNetCore.SwaggerUi
  • Scalar.AspNetCore

หรือติดตั้ง command line tool อื่น ๆ เช่น SwaggerUI และ ReDoc เป็นต้น

ตัวอย่างการใช้งาน Scalar.AspNetCore

[gist id="8a3a6026bc54c7dc9a3160774ad55d5c" file="api2.cs"]

ทำการ run และเข้าไปดูใน web browser :: http://localhost:5062/scalar/v1

ในส่วนของ Authentication และ Authorization

ทำการเพิ่ม Pushed Authorization Requests (PAR) เข้ามาใน OpenIdConnectHandler
เป็นแนวทางใหม่เพื่อปรับปรุง OAuth แบะ OIDC
ซึ่ง PAR สนับสนุน identity provider ดังนี้

  • Keycloak
  • Curity
  • Duende IndentityServer
  • Authlete

ใน .NET 9 นั้นได้เพิ่ม PAR เข้าไปให้แบบ default เลย

[gist id="8a3a6026bc54c7dc9a3160774ad55d5c" file="api3.cs"]

ยังมีความสามารถอื่น ๆ เช่น

  • HybridCache ที่ยังอยู่ใน preview version
  • ปรับปรุง exception page

ถ้าใครเปิดใช้งาน application metric สามารถปิดได้ใน code

[gist id="8a3a6026bc54c7dc9a3160774ad55d5c" file="api4.cs"]

ปิดด้วยยิงเล่นแบบเล็ก ๆ กันหน่อย

[gist id="8a3a6026bc54c7dc9a3160774ad55d5c" file="4.txt"]

ลอง Download มาใช้งานกันดูครับ
ขอให้สนุกกับการ coding


Viewing all articles
Browse latest Browse all 2036

Trending Articles