From d12dee32787f66effea6d0dca8fe61407b7fbcbb Mon Sep 17 00:00:00 2001 From: kjh2064 Date: Sun, 5 Jul 2026 15:41:13 +0900 Subject: [PATCH] fix: Add explicit MIME type configuration for static files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Configure FileExtensionContentTypeProvider for Blazor assets - Set correct MIME types: .wasm, .js, .mjs, .json, .svg, .woff, .woff2 - Enable ServeUnknownFileTypes for flexibility - Fixes 'Empty MIME type' error on Blazor module loading - Resolves ReconnectModal and dotnet.js loading failures MIME type mapping: - .wasm → application/wasm - .js → application/javascript - .mjs → application/javascript - .json → application/json - .svg → image/svg+xml - .woff → font/woff - .woff2 → font/woff2 Co-Authored-By: Claude Sonnet 5 --- src/dotnet/QuantEngine.Web/Program.cs | 18 ++++++++++++ .../QuantEngine.Application.7revtw31g8.pdb.gz | Bin 12196 -> 0 bytes ...QuantEngine.Application.9qbkx9qe02.wasm.gz | Bin 16801 -> 0 bytes ...=> QuantEngine.Application.kv7x4sl21n.pdb} | Bin 21004 -> 21008 bytes .../QuantEngine.Application.kv7x4sl21n.pdb.gz | Bin 0 -> 12202 bytes ...> QuantEngine.Application.n4x9btwro5.wasm} | Bin 36629 -> 36629 bytes ...QuantEngine.Application.n4x9btwro5.wasm.gz | Bin 0 -> 16805 bytes ...0u.pdb => QuantEngine.Core.b5f9o8o2rh.pdb} | Bin 36372 -> 36372 bytes .../QuantEngine.Core.b5f9o8o2rh.pdb.gz | Bin 0 -> 18557 bytes ....wasm => QuantEngine.Core.i44o8ctubr.wasm} | Bin 79125 -> 79125 bytes ...gz => QuantEngine.Core.i44o8ctubr.wasm.gz} | Bin 31791 -> 31794 bytes .../QuantEngine.Core.svjnfkgy0u.pdb.gz | Bin 18556 -> 0 bytes ... => QuantEngine.Web.Client.97rik53991.pdb} | Bin 58728 -> 58728 bytes .../QuantEngine.Web.Client.97rik53991.pdb.gz | Bin 0 -> 44645 bytes .../QuantEngine.Web.Client.m7znbxtyme.pdb.gz | Bin 44649 -> 0 bytes ...=> QuantEngine.Web.Client.pdma2c1xbe.wasm} | Bin 88341 -> 88341 bytes ...QuantEngine.Web.Client.pdma2c1xbe.wasm.gz} | Bin 33309 -> 33306 bytes .../wwwroot/_framework/dotnet.js | 26 +++++++++--------- .../wwwroot/_framework/dotnet.js.gz | Bin 25548 -> 25548 bytes 19 files changed, 31 insertions(+), 13 deletions(-) delete mode 100644 src/dotnet/QuantEngine.Web/wwwroot/_framework/QuantEngine.Application.7revtw31g8.pdb.gz delete mode 100644 src/dotnet/QuantEngine.Web/wwwroot/_framework/QuantEngine.Application.9qbkx9qe02.wasm.gz rename src/dotnet/QuantEngine.Web/wwwroot/_framework/{QuantEngine.Application.7revtw31g8.pdb => QuantEngine.Application.kv7x4sl21n.pdb} (78%) create mode 100644 src/dotnet/QuantEngine.Web/wwwroot/_framework/QuantEngine.Application.kv7x4sl21n.pdb.gz rename src/dotnet/QuantEngine.Web/wwwroot/_framework/{QuantEngine.Application.9qbkx9qe02.wasm => QuantEngine.Application.n4x9btwro5.wasm} (98%) create mode 100644 src/dotnet/QuantEngine.Web/wwwroot/_framework/QuantEngine.Application.n4x9btwro5.wasm.gz rename src/dotnet/QuantEngine.Web/wwwroot/_framework/{QuantEngine.Core.svjnfkgy0u.pdb => QuantEngine.Core.b5f9o8o2rh.pdb} (89%) create mode 100644 src/dotnet/QuantEngine.Web/wwwroot/_framework/QuantEngine.Core.b5f9o8o2rh.pdb.gz rename src/dotnet/QuantEngine.Web/wwwroot/_framework/{QuantEngine.Core.fjtcuzx1xx.wasm => QuantEngine.Core.i44o8ctubr.wasm} (99%) rename src/dotnet/QuantEngine.Web/wwwroot/_framework/{QuantEngine.Core.fjtcuzx1xx.wasm.gz => QuantEngine.Core.i44o8ctubr.wasm.gz} (62%) delete mode 100644 src/dotnet/QuantEngine.Web/wwwroot/_framework/QuantEngine.Core.svjnfkgy0u.pdb.gz rename src/dotnet/QuantEngine.Web/wwwroot/_framework/{QuantEngine.Web.Client.m7znbxtyme.pdb => QuantEngine.Web.Client.97rik53991.pdb} (87%) create mode 100644 src/dotnet/QuantEngine.Web/wwwroot/_framework/QuantEngine.Web.Client.97rik53991.pdb.gz delete mode 100644 src/dotnet/QuantEngine.Web/wwwroot/_framework/QuantEngine.Web.Client.m7znbxtyme.pdb.gz rename src/dotnet/QuantEngine.Web/wwwroot/_framework/{QuantEngine.Web.Client.46e6s1s51k.wasm => QuantEngine.Web.Client.pdma2c1xbe.wasm} (99%) rename src/dotnet/QuantEngine.Web/wwwroot/_framework/{QuantEngine.Web.Client.46e6s1s51k.wasm.gz => QuantEngine.Web.Client.pdma2c1xbe.wasm.gz} (63%) diff --git a/src/dotnet/QuantEngine.Web/Program.cs b/src/dotnet/QuantEngine.Web/Program.cs index 813ca2b..e24c274 100644 --- a/src/dotnet/QuantEngine.Web/Program.cs +++ b/src/dotnet/QuantEngine.Web/Program.cs @@ -8,6 +8,7 @@ using QuantEngine.Core.Interfaces; using QuantEngine.Application.Services; using QuantEngine.Application.Interfaces; using System.Text.Json; +using Microsoft.AspNetCore.StaticFiles; using static QuantEngine.Application.Services.DataCollectionService; using Serilog; using QuantEngine.Web.Client.Infrastructure; @@ -121,6 +122,23 @@ app.UseStatusCodePages(async ctx => app.UseHttpsRedirection(); +// Configure static file MIME types for Blazor +var provider = new FileExtensionContentTypeProvider(); +provider.Mappings[".wasm"] = "application/wasm"; +provider.Mappings[".js"] = "application/javascript"; +provider.Mappings[".mjs"] = "application/javascript"; +provider.Mappings[".json"] = "application/json"; +provider.Mappings[".svg"] = "image/svg+xml"; +provider.Mappings[".woff"] = "font/woff"; +provider.Mappings[".woff2"] = "font/woff2"; + +app.UseStaticFiles(new StaticFileOptions +{ + ContentTypeProvider = provider, + ServeUnknownFileTypes = true, + DefaultContentType = "application/octet-stream" +}); + app.UseAntiforgery(); app.UseAuthentication(); app.UseAuthorization(); diff --git a/src/dotnet/QuantEngine.Web/wwwroot/_framework/QuantEngine.Application.7revtw31g8.pdb.gz b/src/dotnet/QuantEngine.Web/wwwroot/_framework/QuantEngine.Application.7revtw31g8.pdb.gz deleted file mode 100644 index ba92c3585e7fe7fb80a4b9ca36b8a1cbf55d6589..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12196 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 diff --git a/src/dotnet/QuantEngine.Web/wwwroot/_framework/QuantEngine.Application.9qbkx9qe02.wasm.gz b/src/dotnet/QuantEngine.Web/wwwroot/_framework/QuantEngine.Application.9qbkx9qe02.wasm.gz deleted file mode 100644 index 36845bc04f3aa68991398329f2da02906f197631..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16801 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