0

当我运行我的代码时,我试图触发一个 .cmd 文件来清空临时 Internet 文件。每次我写出一个 .html 文件时,它都不会显示当前的更改,除非我手动清除所有临时 Internet 文件。这是我可以在后面的代码中做到这一点的一种方式吗?

这就是我正在使用的。

<code>
     Protected Sub Page_Load(sender As Object, e As EventArgs)
        Dim p As New Process()
        p.StartInfo.FileName = "../deleteTemp.cmd"
        p.Start()
    End Sub
   </code>

这是我的 deleteTemp.cmd 文件中的内容

<code>
    RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8
   </code>
4

1 回答 1

3

关于您要完成的工作的更多上下文会有所帮助,但是如果我正确理解您的问题,您将尝试使用服务器端代码清除本地浏览器缓存,以解决静态 html 缓存问题资源。由于多种原因,您将无法从服务器端清除浏览器缓存。我的建议是向这些 HTML 页面添加元标记以解决缓存问题,如下所示:

<html>
<head>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
</head>
<body>...</body>
</html>

您还可以在 Web 服务器中设置标头以禁用某些文件类型的缓存。这因您使用的 Web 服务器的版本而异,但如果您在此处使用 IIS,您可以阅读如何执行此操作:http: //support.microsoft.com/kb/247389。如果这些是您尝试禁用缓存的 .aspx 页面,您可以使用页面初始化中的服务器端代码执行此操作,或者通过执行以下操作加载:

HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);

希望这有助于您尝试做的事情。

于 2012-10-12T18:29:12.313 回答