ASP.NETリソースのキャッシュ可能性を設定しようとしています。したがって、/ foo / showに移動すると、リソースのビューが表示され、これを数時間キャッシュします(たとえば)。これを行うために、アクションメソッドを装飾するOutputCache属性を使用しています。このキャッシュの詳細(このアクションメソッドに対する)は、web.configファイルにあります。
この出力キャッシュを設定すると、は正しく設定されていますmaxage value
が、s-maxage
値は0です。これはなぜですか。
コードは次のとおりです。
[Authorize]
[OutputCache(CacheProfile = "SomeController_Show")]
public ActionResult Show(){ ... }
そして、これが設定ファイルのスニペットです:
<add name="SomeController_Show" duration="3600" varyByParam="authkey;format;blah" />
および応答のスニペット:
Cache-Control:public, max-age=3576, **s-maxage=0**
Content-Length:746
Content-Type:application/json; charset=utf-8
Date:Tue, 10 Aug 2010 00:42:17 GMT
Expires:Tue, 10 Aug 2010 01:41:53 GMT
Last-Modified:Tue, 10 Aug 2010 00:41:53 GMT
Server:Microsoft-IIS/7.0
Vary:*
maxageが正しく設定されているのに、s-maxageが正しく設定されていないことに注意してください。