0

コードを実行するときに、一時インターネット ファイルを空にするために .cmd ファイルを起動しようとしています。.html ファイルを書き出すたびに、すべての一時インターネット ファイルを手動でクリアしない限り、現在の変更が表示されません。コードビハインドでこれを行う方法はありますか?

これは私が使用しているものです。

<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 に答える