我有一个可重用的局部 View 、脚本和图像库,这些 View 、脚本和图像嵌入在程序集中并在项目之间共享。
一切正常,我修改了 web.config 以使 System.Web.StaticFileHandler 提供所有必要的文件类型,但不幸的是,它使用 Cache-Control: private 提供所有资源。
我可以编写自己的 StaticFileHandler,它可以使用 Cache-Control: public 和 expiration date 提供 VPP 内容。
如何使用 VirtualPathProvider.GetCacheDependency 实现缓存支持?
最佳答案
我知道为什么会发生这种情况。我查看了 StaticFileHandler 的源代码。对于嵌入文件,它不设置任何缓存头。它仅适用于文件系统中的文件。这意味着这将永远无法正常工作。
你有两个选择。
1.找到另一个 http 处理程序。我从未使用过它,但它出现在我的搜索中:https://code.google.com/p/talifun-web/wiki/StaticFileHandler
2.创建一个http模块,检查是否使用了静态文件处理程序,如果是,请设置缓存详细信息。
祝你好运。
关于asp.net - 支持缓存 VirtualPathProvider 服务内容的 StaticFileHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15714490/