3

デフォルトでは、Sitecoreはページをキャッシュしないようです。web.configで、これを設定します

<setting name="DisableBrowserCaching" value="false"/>

パイプラインプロセッサを作成します

page.Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));
page.Response.Cache.SetCacheability(HttpCacheability.Public); 

しかし、それは機能しませんでした、応答ヘッドは残りますno-cache。ちなみに、パイプラインをに追加しrenderLayoutます、誰もが知っていますか?ありがとう!

4

2 に答える 2

3

DisableBrowserCaching最初に設定を に設定して、これを再現しようとしましたtrue。これにより、実際にキャッシュなしヘッダーが生成されます。

次に、それを設定してfalseページをリロードすると、no-cache ヘッダーが消えました。他に何も必要ありませんでした。

有効期限ヘッダーを設定する場合は、IIS の HTTP 応答ヘッダー機能でこれを行う必要があります。

于 2012-04-16T11:18:58.057 に答える
1

Sitecore には、コンテンツが HTML としてレンダリングされる前に 7 層のキャッシュがあります。コンテンツがレンダリングされる前にキャッシュを制御できます。しかし、no-cache がデフォルトで true であることは事実です。

これは、Sitecore のページが動的であるためです。状況に応じてレイアウトや内容を変更します。特に、デバイス ( http://briancaos.wordpress.com/2012/04/12/identifying-mobile-devices-in-sitecore/ ) を使用し、Sitecore DMS を使用する場合、コンテンツはデバイスとユーザーごとに異なる方法でレンダリングされます。

独自のブラウザ キャッシュ メカニズムを構築する場合は、静的コンテンツを含むページでのみこれを行うようにしてください。

于 2012-04-17T11:07:07.717 に答える