You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio .NET Core Web开发:如何彻底关闭本地缓存

解决.NET Core开发中IIS Express加载旧JS文件的问题

1. 配置静态文件中间件禁用开发环境缓存

在Program.cs(.NET 6+)或Startup.cs(.NET 5及更早版本)中,修改静态文件中间件的配置,强制开发环境下不缓存静态文件:

// Program.cs 示例
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

// 配置静态文件,开发环境禁用缓存
app.UseStaticFiles(new StaticFileOptions
{
    OnPrepareResponse = ctx =>
    {
        if (app.Environment.IsDevelopment())
        {
            // 设置响应头禁用缓存
            ctx.Context.Response.Headers.Append("Cache-Control", "no-cache, no-store, must-revalidate");
            ctx.Context.Response.Headers.Append("Pragma", "no-cache");
            ctx.Context.Response.Headers.Append("Expires", "0");
        }
    }
});

// 其他中间件配置...
app.Run();

2. 修改IIS Express的applicationhost.config配置

找到项目根目录下的.vs隐藏文件夹,进入config子文件夹,打开applicationhost.config文件,找到对应站点的<site>节点,添加静态内容缓存禁用设置:

<location path="你的站点名称">
    <system.webServer>
        <staticContent>
            <clientCache cacheControlMode="DisableCache" />
        </staticContent>
    </system.webServer>
</location>

修改后重启IIS Express即可生效。

3. 给JS文件添加版本戳(缓存击穿)

在前端引用JS文件时,动态添加版本参数,确保每次请求都是最新文件。开发环境可以用时间戳快速实现:

<script src="/js/app.js?v=@DateTime.Now.Ticks"></script>

注意:生产环境建议用构建工具(如Webpack、Vite)生成文件哈希值,避免频繁修改参数。

4. 清理IIS Express临时缓存文件

IIS Express会将静态文件缓存到本地临时目录,路径一般为:
C:\Users\<你的用户名>\AppData\Local\Temp\iisexpress
找到对应项目的缓存文件夹并删除,重启项目即可加载最新文件。

关于.NET Core中web.config的使用

.NET Core开发环境下,web.config主要用于IIS部署时的配置,开发阶段用IIS Express的话,上面的中间件配置和applicationhost.config修改更直接。如果要在web.config中设置缓存,可添加如下节点,但仅在部署到IIS时生效:

<system.webServer>
    <staticContent>
        <clientCache cacheControlMode="DisableCache" />
    </staticContent>
</system.webServer>

内容的提问来源于stack exchange,提问作者phoenixAZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 23:45:42