0

ファイル拡張子によるディレクトリにキャッシュ ルールがあり、そのディレクトリには 2 つの動的ページがあります。

    <configuration>
        <system.webServer>
            <caching>
                <profiles>
                    <add extension=".asp" 
                         policy="CacheForTimePeriod" 
                         kernelCachePolicy="DontCache" 
                         duration="03:00:00" 
                         location="Any" 
                         varyByQueryString="*" />
                </profiles>
            </caching>
        </system.webServer>
    </configuration>

2つの間に大きな違いはありません。どちらもクエリ文字列を実行しますが、IISは何らかの理由でそのうちの1つをキャッシュしたくありません。理由はわかりません。1 つのページは完全にキャッシュされますが、もう 1 つのページはキャッシュされません。キャッシュされているページは常に 256kb 未満で、他のページは通常それ以上であり、256kb は のデフォルト設定であるため、出力ファイルサイズが原因である可能性があると考えていましたMaxCachedFileSize。そこで、ミリ秒の提案に従って次のレジストリを追加しました。

HKLM\System\CurrentControlSet\Services\InetInfo\Parameters\MaxCachedFileSize

デフォルトは 256kb なので、10485760 バイト (10mb) に設定します。まだキャッシュしていません。私が言ったように、同じディレクトリ内の他のファイルは正常にキャッシュされますが、他のファイルはキャッシュされません。サーバーでメモリがほとんど使用されていないため、これが使用可能なメモリ領域の問題である可能性はないと思います。

また、ページで Cookie を送信すると、IIS がページをキャッシュしない可能性があることを読みましたが、どちらのページも Cookie を送信していません。

4

1 に答える 1