StaticFileHandler,支持缓存VirtualPathProvider提供的内容

mbe*_*gal 3 asp.net asp.net-mvc

我有一个可重用的部分视图,脚本和图像库,它们嵌入在程序集中并在项目之间共享.

一切正常,我修改了web.config以使System.Web.StaticFileHandler提供所有必需的文件类型,但不幸的是,它通过Cache-Control:private提供所有资源.

我可以编写自己的StaticFileHandler,它将使用Cache-Control提供VPP内容:公共和到期日期.

如何使用VirtualPathProvider.GetCacheDependency实现缓存支持?

Ton*_*ony 5

我弄清楚为什么会这样.我查看了StaticFileHandler的源代码.对于嵌入式文件,它不会设置任何缓存标头.它仅适用于文件系统中的文件.这意味着永远不会正常工作.

你有两个选择.

1.找到另一个http处理程序.我从来没有使用过这个,但它出现在我的搜索中:https://code.google.com/p/talifun-web/wiki/StaticFileHandler

2.创建一个http模块,检查是否使用了静态文件处理程序,如果是,则设置缓存详细信息.

祝好运.