2

簡単なテストケースを作りました。

default.asp:

<%=now%>

web.config:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<location path="default.asp">
    <system.webServer>
        <caching>
            <profiles>
                <add extension=".asp" policy="CacheForTimePeriod" kernelCachePolicy="DontCache" duration="01:00:00" varyByQueryString="*" />
            </profiles>
        </caching>
    </system.webServer>
</location>

default.asp を 2 回要求すると、ページがキャッシュされます。datetime 値は一定期間は同じですが、1 時間全体ではありません。

この開いている default.asp 要求をテストするには、キャッシュされるまでページを要求し、5 分間待ってからページを更新します。

Windows 7 + IIS7.5 を使用しています

4

2 に答える 2

0

IISでのアプリケーションの有効期間を明確にできますか。IISは、使用されていないためにアプリケーションをカリングしている可能性がありますか?
これをテストする1つの方法は、20秒ごとにページを更新し続けることです。キャッシュされたページがあなたが言及した5分より長く元の時間を保持している場合、これはアプリケーションがカリングされているという事実を示しています。その後、このアプリを再度リクエストすると、キャッシュされたバージョンが新たに生成されます。

于 2010-06-24T12:49:34.397 に答える
0

失敗したリクエストのトレースを行ったところ、次のことがわかりました。

ページが頻繁にヒットしない場合、期間に達していなくてもキャッシュが無効になります: http://img819.imageshack.us/img819/7963/45303467.png

于 2010-06-25T08:04:11.057 に答える