我试图在我的网站中的所有ashx文件上启用输出缓存.我试图阻止服务器在每个请求上生成文件 – 不要试图告诉浏览器缓存文件.
我把我的ashx文件简化为这个简单的代码:
public class DefaultStyles : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/css";
StringBuilder styleSheet = new StringBuilder();
styleSheet.AppendLine(string.Format("/* Generated: {0}, {1} */", DateTime.Now.ToShortDateString(), DateTime.Now.ToLongTimeString()));
context.Response.Write(styleSheet.ToString());
}
}
在我的web.config文件中,我有这个:
<system.webserver>
<caching enabled="true">
<profiles>
<add extension=".ashx" policy="CacheForTimePeriod" duration="00:01:00" />
</profiles>
</caching>
</system.webserver>
尽管如此,我对ashx文件的每个请求都会生成一个包含当前日期和时间的新版本.
我究竟做错了什么?
谢谢.
最佳答案 也许这会有所帮助?
http://objectmix.com/dotnet/393333-output-caching-custom-http-handler.html
它似乎表明,由于您没有使用普通页面处理程序,因此不会调用输出缓存模块.
西蒙