【问题标题】:Browser History/cache Clean through c# code浏览器历史记录/缓存通过 c# 代码清理
【发布时间】:2019-12-03 13:15:35
【问题描述】:

我的问题是,
我可以通过代码 (c#) 清理 浏览器缓存/历史记录
因为,浏览器总是存储以前的 angular/css。 每次,我们都必须手动清除(通过Cntrl+Shift+Del)。
是否有任何 C# 代码可以通过单击按钮清除历史记录。
谢谢

【问题讨论】:

  • 您需要解决问题,而不是自动清除缓存。
  • @DavidG,你的意思是,没有办法通过编码..
  • 你在用asp.net core吗?
  • 好的,所以你不需要清除缓存,.net mvc 中可能的解决方案是附加一个版本的 js 和 css 文件

标签: c# browser browser-cache


【解决方案1】:

可以这样试试:

Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetExpires(DateTime.Now);
Response.Cache.SetNoServerCaching();
Response.Cache.SetNoStore();

【讨论】:

    【解决方案2】:

    您的问题是css和js文件缓存在浏览器中。

    请查看 Asp Mvc Application 的默认模板。

    _Layout.cshtml 底部应该有这个

    @Scripts.Render("~/bundles/jquery")
    

    BundleConfig.cs中,你需要在RegisterBundles方法的底部添加这个

    BundleTable.EnableOptimizations = true;
    

    你应该看到网页的来源脚本有一些额外的版本

    <script src="/bundles/jquery?v=2u0aRenDpYxArEyILB59ETSCA2cfQkSMlxb6jbMBqf81"></script>
    

    这样,每当你的 js 或 css 文件发生变化时,版本就会发生变化,因此浏览器会将其视为另一个文件,而不是之前缓存的 js 或 css 文件版本。

    在 Asp.Net Core MVC 中,使用asp-append-version 非常容易

    <script src="~/js/site.js" asp-append-version="true"></script>
    

    【讨论】:

      【解决方案3】:

      感谢您的回答,但最后对我来说是这个问题的最佳解决方案。

      在 _Layout.cshtml 中,添加一个 version 我们链接 Angular 和 Css 文件的路径的位置。 浏览器会检测到这是一个新文件,然后替换它。现在不需要清除历史记录/缓存。 代码:?v=1

      示例:

      <script src="~/Scripts/angularcontroller.js?v=1"></script>
      
      <script src="~/Css/style.css?v=1"></script>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-04-16
        • 2011-11-14
        • 1970-01-01
        • 1970-01-01
        • 2015-07-12
        • 2013-12-27
        • 1970-01-01
        相关资源
        最近更新 更多