2012-03-14 55 views

回答

12

建议您通过this tutorial了解一般情况下Web(HTTP)上的缓存发生情况。

简而言之,Web服务器需要生成适当的HTTP头,同时将内容发送到客户端以控制客户端缓存。在ASP.NET/IIS环境中,它的IIS通常处理静态文件内容,因此必须根据需要适当配置IIS以控制缓存静态文件。见下面的链接以获取更多信息有关配置IIS缓存静态内容:

http://www.iis.net/ConfigReference/system.webServer/staticContent/clientCache
How to configure static content cache per folder and extension in IIS7?

编辑:正如你问的最佳方法,最普遍的做法,我现在看到天到版本静态内容(比如通过在文件或URL末尾附加一些版本标识符)。一旦版本化,您可以将其视为不可变,然后发出缓存标头以将其缓存无限期。在ASP.NET应用程序中,您可以将程序集版本(或产品版本)附加到每个静态内容URL。所以基本上,你会使每个构建(或每个产品版本)的缓存失效。

+0

+1本教程链接 – 2012-03-14 08:38:39

+0

@VinayC怎么样在这个问题上[如何缓存ASP.NET MVC应用程序的js和css文件服务于IIS](http://stackoverflow.com/questions/41391542/how-to-cache-js-and-css-files-of-asp-net-mvc-application-served-on-iis/)?在此先感谢... – 2016-12-30 08:56:03

+0

@ClintEastwood,只要您提供静态文件,使用IIS配置发出缓存标头就可以工作。要处理静态内容的更新,您必须使用版本化的URL(例如/image/a.png?v=2),以便浏览器在您更改版本时再次请求。 – VinayC 2017-01-05 11:13:24

0

您还可以使用HTML5离线Web应用程序清单。它允许你设置一个清单,你可以定义哪些文件将被本地缓存。

这是一个很好的,清楚的了解广泛实施,避免必须了解有关IISHTML缓存的方法。

http://www.w3schools.com/html/html5_app_cache.asp

(你应该完全读了这些事情)