相关疑难解决方法(0)

如何在 ASP.NET Core 中缓存静态文件?

我似乎无法在 ASP.NET Core 2.2 中启用静态文件缓存。我有以下内容Configure

public void Configure(IApplicationBuilder app, IHostingEnvironment env) {
  if (env.IsDevelopment()) {
    app.UseDeveloperExceptionPage();
    app.UseCors(...);
  }
  else {
    app.UseHsts();
  }

  app.UseHttpsRedirection();
  app.UseAuthentication();
  app.UseSignalR(routes => { routes.MapHub<NotifyHub>("/..."); });

  app.UseResponseCompression();
  app.UseStaticFiles();
  app.UseSpaStaticFiles(new StaticFileOptions() {
    OnPrepareResponse = (ctx) => {
      ctx.Context.Response.Headers[HeaderNames.CacheControl] = "public, max-age=31557600"; // cache for 1 year
    }
  });
  app.UseMvc();

  app.UseSpa(spa => {
    spa.Options.SourcePath = "ClientApp";
    if (env.IsDevelopment()) {
      spa.UseVueCli(npmScript: "serve", port: 8080);
    }
  });
}
Run Code Online (Sandbox Code Playgroud)

当我尝试使用 chrome 在 HTTPS 上审核生产站点时,我不断收到“使用高效缓存策略提供静态资产”的消息:

审核截图

在网络选项卡中没有提到标题中的缓存,当我按 F5 时,似乎所有内容都来自磁盘缓存。但是,如果审计显示它不是,我怎么能确定我的缓存设置有效?

网络标签截图

caching static-files vue.js asp.net-core

9
推荐指数
2
解决办法
8382
查看次数

标签 统计

asp.net-core ×1

caching ×1

static-files ×1

vue.js ×1