How to use

How to use

เพิ่ม JSON Configuration

กำหนดให้โครงสร้างโปรเจคเป็นดังนี้

<project-root>/
├── Configurations/
│   └── ArcGISProxy/
│       ├── arcgis-proxy.json (Production)
│       ├── arcgis-proxy.Development.json
│       ├── arcgis-proxy.Inhouse.json
│       └── arcgis-proxy.Staging.json
├── Program.cs
├── appsettings.json
└── ...

โค้ดตัวอย่างนี้ใช้การโหลดไฟล์ arcgis-proxy.json แบบแยกตามสภาพแวดล้อม (Environment) เช่น Development, Staging, Production โดยใช้โค้ดใน Program.cs เพื่อเพิ่ม Configuration เข้าไปในระบบของ ASP.NET Core

var env = builder.Environment.EnvironmentName;
if (builder.Environment.IsProduction())
{
    builder.Configuration
        .AddJsonFile("Configurations/ArcGISProxy/arcgis-proxy.json", optional: false, reloadOnChange: true);
}
else
{
    builder.Configuration
        .AddJsonFile($"Configurations/ArcGISProxy/arcgis-proxy.{env}.json", optional: true, reloadOnChange: true);
}

Note

ควรโหลดเฉพาะไฟล์ที่ Environment นั้น ๆ ใช้งาน

Register Services

หลังจากเพิ่มไฟล์ Configuration สำหรับ ArcGIS Proxy แล้ว ขั้นตอนต่อไปคือ Register Services โดยเรียกฟังก์ชัน AddArcGISProxy() เพื่อให้สามารถใช้งานได้ในแอปของคุณ

// หลังจากโหลด Configuration แล้ว ให้เรียก AddArcGISProxy
builder.Services.AddArcGISProxy(builder.Configuration);

Note

ควรเรียก AddArcGISProxy() หลังจาก ที่โหลด Configuration จาก JSON แล้วเสมอ เนื่องจาก AddArcGISProxy() จะอ่านค่าจาก IConfiguration เพื่อสร้าง service และ register ให้พร้อมใช้งาน

Add Middleware

var app = builder.Build();

app.UseArcGISProxy();     // เพิ่มบรรทรรทัดนี้
app.UseArcGISToken();     // กรณีต้องการให้บริการ ArcGIS Token Generator

await app.RunAsync();