1

単純な出力キャッシュを機能させることができない理由と、このような状況をデバッグする方法がわかりません。

私が取り組んだ例と以前のプロジェクトを見るだけで、次のコードを使用しました。

<%@ OutputCache Duration="100" VaryByParam="id" %>

しかし、それがうまくいかなかったので、 VaryByParam="*" と VaryByParam="none" を試しました

これらのどれも機能しませんでした。

他の何かが OutputCache に干渉していないことを確認するための簡単なチェックはありますか?

4

3 に答える 3

2

OutputCache が正しく機能しているかどうかを確認するだけの場合は、現在の日時にバインドするだけのラベルをページにいつでも追加できます。初めてロードすると、ラベルがバインドされたときのタイムスタンプが表示されます。

次にラベルが更新されるのは、キャッシュの有効期限が切れて、ページが再びヒットした後です。

<%@ OutputCache duration="120" varybyparam="None" varybycustom="Browser" %>


<asp:Label ID="Testlabel" runat="server" Text=""><%= DateTime.Now %></asp:Label>
于 2009-04-29T21:25:44.890 に答える
0

これは、いくつかの修正を加えた womps answer に似ています。

OutputCache が正しく機能しているかどうかを確認するだけの場合は、いつでも現在の日時を含めることができます。初めてロードすると、ラベルがバインドされたときのタイムスタンプが表示されます。つまり、キャッシュがプライミングされます。ページをリロードすると、出力がキャッシュされた日付と同じになるはずです。キャッシュの有効期限が切れると、日時が再び更新され、サイクルが繰り返されます。

<%@ OutputCache duration="120" varybyparam="None" %>
<%= DateTime.Now %>
于 2011-11-01T21:09:46.000 に答える
0

100 秒間だけキャッシュしていますが、より長い値を試しましたか? Visual Studio でデバッガーを起動すると、100 秒 (またはそれ以上) かかる場合があります。また、VaryByParam なしで試しましたか?

于 2009-04-23T18:37:45.750 に答える