Skip to content

Blazor WASM doesn't use cache after upadate from net9.0 to net10.0 #63682

@paule96

Description

@paule96

Is there an existing issue for this?

  • I have searched the existing issues

Describe the bug

I noticed something weird for release builds in Blazor WASM .net10-rc1 published apps.

First lets see what happens on net9.0. In net9.0 if you publish an Blazor WASM app, the app will load on the very first refresh quite long, because it will load around 15MB (my sample app with a bit of content)
But every other refresh will load just 0.5Mb.
The reason for this is that .net9.0 uses the cache storage of the browser just very good:

Image

Now let's see what happens in net10.0-rc1.
If you publish now the app and make the first refresh you will download the same 15MB.
But at the second refresh you will download again 15mb.
And if you look into the browsers cache storage you will find out that it is remained empty:

Image

Expected Behavior

My expectations would be that the behavior for caching is improved in a same way like it was in net9.0 (or better)

Steps To Reproduce

  1. Create a Blazor WASM standalone Projekt with net9.0
  2. Publish in Release mode
  3. Host it in any kind of reverse proxy
  • I use IIS with a xxx.localhost domain
  • I also use a valid certificate for https without warnings
  1. Check the things from the Issue describtion
  • Mainly it is Developer Tools of the Browser (F12) -> Application -> Cache Storage
  1. Update the project to net10 (I did it with the copilot integration)
  2. Repeat step 2 to 4

Exceptions (if any)

No response

.NET Version

10.0.100-rc.1.25451.107

Anything else?

.NET SDK:
Version: 10.0.100-rc.1.25451.107
Commit: 2db1f5ee2b
Workload version: 10.0.100-manifests.a6e8bec0
MSBuild version: 17.15.0-preview-25451-107+2db1f5ee2

Runtime Environment:
OS Name: Windows
OS Version: 10.0.26100
OS Platform: Windows
RID: win-x64
Base Path: C:\Program Files\dotnet\sdk\10.0.100-rc.1.25451.107\

.NET workloads installed:
[maui-windows]
Installation Source: VS 18.0.11010.61, VS 17.14.36429.23
Manifest Version: 10.0.0-rc.1.25452.6/10.0.100-rc.1
Manifest Path: C:\Program Files\dotnet\sdk-manifests\10.0.100-rc.1\microsoft.net.sdk.maui\10.0.0-rc.1.25452.6\WorkloadManifest.json
Install Type: Msi

[maccatalyst]
Installation Source: VS 18.0.11010.61, VS 17.14.36429.23
Manifest Version: 18.5.10727-net10-rc.1/10.0.100-rc.1
Manifest Path: C:\Program Files\dotnet\sdk-manifests\10.0.100-rc.1\microsoft.net.sdk.maccatalyst\18.5.10727-net10-rc.1\WorkloadManifest.json
Install Type: Msi

[ios]
Installation Source: VS 18.0.11010.61, VS 17.14.36429.23
Manifest Version: 18.5.10727-net10-rc.1/10.0.100-rc.1
Manifest Path: C:\Program Files\dotnet\sdk-manifests\10.0.100-rc.1\microsoft.net.sdk.ios\18.5.10727-net10-rc.1\WorkloadManifest.json
Install Type: Msi

[android]
Installation Source: VS 18.0.11010.61, VS 17.14.36429.23
Manifest Version: 36.0.0-rc.1.285/10.0.100-rc.1
Manifest Path: C:\Program Files\dotnet\sdk-manifests\10.0.100-rc.1\microsoft.net.sdk.android\36.0.0-rc.1.285\WorkloadManifest.json
Install Type: Msi

[wasm-tools]
Installation Source: VS 18.0.11010.61, VS 17.14.36429.23, VS 17.14.36429.23, VS 17.14.36429.23
Manifest Version: 10.0.100-rc.1.25451.107/10.0.100-rc.1
Manifest Path: C:\Program Files\dotnet\sdk-manifests\10.0.100-rc.1\microsoft.net.workload.mono.toolchain.current\10.0.100-rc.1.25451.107\WorkloadManifest.json
Install Type: Msi

[wasm-tools-net8]
Installation Source: VS 17.14.36429.23
Manifest Version: 10.0.100-rc.1.25451.107/10.0.100-rc.1
Manifest Path: C:\Program Files\dotnet\sdk-manifests\10.0.100-rc.1\microsoft.net.workload.mono.toolchain.net8\10.0.100-rc.1.25451.107\WorkloadManifest.json
Install Type: Msi

Configured to use workload sets when installing new manifests.
No workload sets are installed. Run "dotnet workload restore" to install a workload set.

Host:
Version: 10.0.0-rc.1.25451.107
Architecture: x64
Commit: 2db1f5ee2b

.NET SDKs installed:
3.1.426 [C:\Program Files\dotnet\sdk]
8.0.317 [C:\Program Files\dotnet\sdk]
8.0.414 [C:\Program Files\dotnet\sdk]
9.0.205 [C:\Program Files\dotnet\sdk]
9.0.305 [C:\Program Files\dotnet\sdk]
10.0.100-rc.1.25451.107 [C:\Program Files\dotnet\sdk]

.NET runtimes installed:
Microsoft.AspNetCore.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 6.0.36 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 8.0.20 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 9.0.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 9.0.9 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 10.0.0-rc.1.25451.107 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 6.0.36 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 8.0.20 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 9.0.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 9.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 10.0.0-rc.1.25451.107 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 6.0.36 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 8.0.20 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 9.0.6 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 9.0.9 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 10.0.0-rc.1.25451.107 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

Other architectures found:
x86 [C:\Program Files (x86)\dotnet]
registered at [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x86\InstallLocation]

Environment variables:
DOTNET_CLI_UI_LANGUAGE [en-US]
DOTNET_MULTILEVEL_LOOKUP [0]
DOTNET_STARTUP_HOOKS []
DOTNET_TC_CallCountThreshold [1000]
Detected COMPlus_* environment variable(s). Consider transitioning to DOTNET_* equivalent.

global.json file:
D:\repos\Hmp.Spa.Renderer\global.json

Learn more:
https://aka.ms/dotnet/info

Download .NET:
https://aka.ms/dotnet/download

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions