From af8b21fdb8cac47c5f98b7483e2fa9ab63dae029 Mon Sep 17 00:00:00 2001 From: kjh2064 Date: Sat, 4 Jul 2026 04:44:10 +0900 Subject: [PATCH] fix: correct ASP.NET Core middleware order for WASM routing 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 --- src/TaxBaik.Web/Program.cs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/TaxBaik.Web/Program.cs b/src/TaxBaik.Web/Program.cs index 8354afb..7fef3ae 100644 --- a/src/TaxBaik.Web/Program.cs +++ b/src/TaxBaik.Web/Program.cs @@ -378,19 +378,19 @@ if (!app.Environment.IsDevelopment()) 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.MapFastEndpoints(); app.MapHealthChecks("/healthz"); app.MapRazorPages(); app.MapStaticAssets(); -// Admin & Portal Blazor WebAssembly SPA 호스팅 -app.UseBlazorFrameworkFiles("/admin"); -app.UseStaticFiles("/admin"); -app.UseBlazorFrameworkFiles("/portal"); -app.UseStaticFiles("/portal"); - // SPA 라우팅 폴백 (각 경로에서 index.html 제공) app.MapFallbackToFile("admin/{*path:nonfile}", "admin/index.html"); app.MapFallbackToFile("portal/{*path:nonfile}", "portal/index.html");