2

ASP.NETアプリケーションがあり、特定のページを出力キャッシュしようとしていますが、すべての要求で、デバッガーはまだOnLoadメソッドをヒットしており、200の応答が返されます。

次のようなページに出力キャッシュディレクティブを配置しました。

<%@ OutputCache Duration="60" VaryByParam="None" %>

そして、OutputCacheモジュールがあることを確認しました

<add name="OutputCache" type="System.Web.Caching.OutputCacheModule"/>

また、万が一の場合に備えて、URLの書き換えをバイパスしています。カッシーニとIIS5.1(XP)を使用してこれを試しましたが、ページがまったくキャッシュされていません。

この機能に影響を与える可能性のある、私が調べていない他の要因はありますか?

ありがとう

4

1 に答える 1

4

私も同じ問題を抱えていました。キャッシュできなかったリクエストの処理中に、次のコード行が呼び出されていることがわかりました。

Response.Cache.SetCacheability(HttpCacheability.NoCache);

これをコメントアウトすると、出力キャッシュが再び機能し始めます。上記の行は、クライアント/ブラウザに送信されるヘッダーにのみ影響するだろうと推測しました。ページのライフサイクルのどの時点でも、このようなものが実行されていないことを確認してください。

于 2010-05-08T20:26:20.740 に答える