User409414831 posted
I am using the Angular project template with ASP.NET Core. Reference
The caching should be enabled by default, to be sure I have added an StaticFileOptions object to the StaticfileMiddleware:
public class Startup
{
// ...
app.UseStaticFiles(new StaticFileOptions
{
OnPrepareResponse = ctx =>
{
const int durationInSeconds = 60 * 60 * 24;
ctx.Context.Response.Headers[HeaderNames.CacheControl] =
"public,max-age=" + durationInSeconds;
}
});
// ...
}
Then I have created an test.html in wwwroot folder.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset=utf-8>
<title>Test static files</title>
</head>
<body>
This is a test for static files!
</body>
</html>
When I dotnet run
and navigate to https://localhost:5001/test.html the page is displayed correctly.

After I change the html page, I click to google chrome's address bar and press enter, to issue another HTTP request to the test.html file. I have not reload the page.

You can see that the change is reflected by google chrome and I received an status 200 again instead of 304. Cache-control in the Response Header is public,max-age=86400. Why does the static file caching not work? My desired result would be that the change
is not reflected after the second HTTP request, so I can be sure static file caching is working properly.
I am using: .NET Core SDK 3.1.201 and Chrome 80.0.3987.163.