我想在Web.Config中为Web应用程序中不同类型的页面创建多个缓存配置文件。例如,数据形式不会经常更改,因此我将增加Cache-Control的最大使用期限。对于其他页面,将向代理服务器或原始服务器发出更频繁的请求,因此Cache-Control maxage和s-maxage值将设置为不同。
我可以毫无问题地设置最大年龄。但是很难通过在web.config上设置s-maxage在互联网上寻找解决方案。
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<add name="Cache1Hour" duration="30" varyByParam="none" />
</outputCacheProfiles>
</outputCacheSettings>
</caching>
我最后的选择是手动将maxage和s-maxage添加到Action方法。
Response.Cache.SetMaxAge(maxAge);
Response.Cache.SetProxyMaxAge(proxyMaxAga);
关于最佳方法的任何建议吗?理想情况下,我想使用属性来装饰Action方法。