fix: correct ASP.NET Core middleware order for WASM routing
TaxBaik CI/CD / build-and-deploy (push) Failing after 2m2s

Problem:
- UseBlazorFrameworkFiles/UseStaticFiles were AFTER Map* routes
- This caused 'request reached end of pipeline' 500 error

Solution:
- Move app.Use* (middleware) BEFORE app.Map* (routing)
- Blazor framework files now properly served at /admin/_framework
- Portal SPA fallback working correctly

Middleware order is critical:
1. app.Use* (processing order)
2. app.Map* (routing rules)
3. app.Run() (final endpoint)

Fixes: 500 error on /admin/_framework/blazor.webassembly.js

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-07-04 04:44:10 +09:00
parent bc3bde75af
commit af8b21fdb8
+7 -7
View File
@@ -378,19 +378,19 @@ if (!app.Environment.IsDevelopment())
app.UseHsts(); app.UseHsts();
} }
// API + Razor Pages + 정적 파일 매핑 // Admin & Portal Blazor WebAssembly SPA 호스팅 (미들웨어 먼저!)
app.UseBlazorFrameworkFiles("/admin");
app.UseStaticFiles("/admin");
app.UseBlazorFrameworkFiles("/portal");
app.UseStaticFiles("/portal");
// API + Razor Pages + 정적 파일 매핑 (라우팅은 나중에)
app.MapControllers(); app.MapControllers();
app.MapFastEndpoints(); app.MapFastEndpoints();
app.MapHealthChecks("/healthz"); app.MapHealthChecks("/healthz");
app.MapRazorPages(); app.MapRazorPages();
app.MapStaticAssets(); app.MapStaticAssets();
// Admin & Portal Blazor WebAssembly SPA 호스팅
app.UseBlazorFrameworkFiles("/admin");
app.UseStaticFiles("/admin");
app.UseBlazorFrameworkFiles("/portal");
app.UseStaticFiles("/portal");
// SPA 라우팅 폴백 (각 경로에서 index.html 제공) // SPA 라우팅 폴백 (각 경로에서 index.html 제공)
app.MapFallbackToFile("admin/{*path:nonfile}", "admin/index.html"); app.MapFallbackToFile("admin/{*path:nonfile}", "admin/index.html");
app.MapFallbackToFile("portal/{*path:nonfile}", "portal/index.html"); app.MapFallbackToFile("portal/{*path:nonfile}", "portal/index.html");