2016-12-30 61 views
0

在我们的IIS Server 7.5上有几个ASP.NET MVC应用程序,为了提高性能,我们要缓存静态内容(javascript,css等)。我在Microsoft IIS and ASP.NET MVC caching techniques看静态内容缓存,但不知道它是否满足我的要求。那么,IIS Server缓存静态内容MVC项目端以编程方式什么是最好的选择?如何缓存IIS上提供的ASP.NET MVC应用程序的js和css文件?

+0

以何种方式,你希望缓存它们?客户端浏览器将在需要时照顾缓存静态内容。 – Fishcake

+0

实际上,我想到的是[Microsoft IIS和ASP.NET MVC缓存技术]中介绍的使用静态内容缓存(http://dejanstojanovic.net/aspnet/2015/april/microsoft-iis-and-aspnet-mvc-caching-技术/)和[使用ASP.NET MVC和IIS7缓存版本化静态文件](http://aboutcode.net/2011/03/21/caching-versioned-static-files-with-asp-net-mvc-and- iis7.html)。 –

+0

在那里,缓存机制是在IIS端进行的,我需要一个在客户端清除浏览缓存后工作的解决方案。所以,静态内容缓存似乎很好,但我不知道如果我更新了一个js或css文件并在我选择了360天的情况下部署我的应用程序? –

回答

0

我通常使用以下配置在asp.net MVC应用程序缓存的静态内容,使gzip压缩等

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.webServer> 
     <!-- GZip static file content. Overrides the server default which only compresses static files over 2700 bytes --> 
     <httpCompression directory="%SystemDrive%\websites\_compressed" minFileSizeForComp="1024"> 
      <scheme dll="%Windir%\system32\inetsrv\gzip.dll" name="gzip"/> 
      <dynamicTypes> 
       <add enabled="true" mimeType="text/*" /> 
       <add enabled="true" mimeType="message/*" /> 
       <add enabled="true" mimeType="application/javascript" /> 
       <add enabled="true" mimeType="application/json" /> 
       <add enabled="true" mimeType="application/json; charset=utf-8" /> 
       <add enabled="false" mimeType="*/*" /> 
      </dynamicTypes> 
      <staticTypes> 
       <add enabled="true" mimeType="text/*"/> 
       <add enabled="true" mimeType="message/*"/> 
       <add enabled="true" mimeType="application/javascript"/> 
       <add enabled="true" mimeType="application/json"/> 
       <add enabled="true" mimeType="application/json; charset=utf-8" /> 
       <add enabled="false" mimeType="*/*"/> 
      </staticTypes> 
     </httpCompression> 
     <urlCompression doDynamicCompression="true" doStaticCompression="true"/> 
     <staticContent> 
      <!-- Set expire headers to 30 days for static content--> 
      <clientCache cacheControlMaxAge="30.00:00:00" cacheControlMode="UseMaxAge"/> 
      <remove fileExtension=".html"/> 
      <mimeMap fileExtension=".html" mimeType="text/html; charset=UTF-8"/> 
      <remove fileExtension=".css"/> 
      <mimeMap fileExtension=".css" mimeType="text/css"/> 
      <remove fileExtension=".js"/> 
      <mimeMap fileExtension=".js" mimeType="text/javascript"/> 
      <remove fileExtension=".json"/> 
      <mimeMap fileExtension=".json" mimeType="application/json"/> 
      <remove fileExtension=".map"/> 
      <mimeMap fileExtension=".map" mimeType="application/json"/> 
      <remove fileExtension=".rss"/> 
      <mimeMap fileExtension=".rss" mimeType="application/rss+xml; charset=UTF-8"/> 
      <remove fileExtension=".xml"/> 
      <mimeMap fileExtension=".xml" mimeType="application/xml; charset=UTF-8"/> 
      <!-- HTML5 Audio/Video mime types--> 
      <remove fileExtension=".mp3"/> 
      <mimeMap fileExtension=".mp3" mimeType="audio/mpeg"/> 
      <remove fileExtension=".mp4"/> 
      <mimeMap fileExtension=".mp4" mimeType="video/mp4"/> 
      <remove fileExtension=".ogg"/> 
      <mimeMap fileExtension=".ogg" mimeType="audio/ogg"/> 
      <remove fileExtension=".ogv"/> 
      <mimeMap fileExtension=".ogv" mimeType="video/ogg"/> 
      <remove fileExtension=".webm"/> 
      <mimeMap fileExtension=".webm" mimeType="video/webm"/> 
      <!-- Proper svg serving. Required for svg webfonts on iPad --> 
      <remove fileExtension=".svg"/> 
      <mimeMap fileExtension=".svg" mimeType="image/svg+xml"/> 
      <remove fileExtension=".svgz"/> 
      <mimeMap fileExtension=".svgz" mimeType="image/svg+xml"/> 
      <!-- HTML4 Web font mime types --> 
      <!-- Remove default IIS mime type for .eot which is application/octet-stream --> 
      <remove fileExtension=".eot"/> 
      <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject"/> 
      <remove fileExtension=".ttf"/> 
      <mimeMap fileExtension=".ttf" mimeType="application/x-font-ttf"/> 
      <remove fileExtension=".ttc"/> 
      <mimeMap fileExtension=".ttc" mimeType="application/x-font-ttf"/> 
      <remove fileExtension=".otf"/> 
      <mimeMap fileExtension=".otf" mimeType="font/opentype"/> 
      <remove fileExtension=".woff"/> 
      <mimeMap fileExtension=".woff" mimeType="application/font-woff"/> 
      <remove fileExtension=".woff2"/> 
      <mimeMap fileExtension=".woff2" mimeType="font/woff2"/> 
      <remove fileExtension=".crx"/> 
      <mimeMap fileExtension=".crx" mimeType="application/x-chrome-extension"/> 
      <remove fileExtension=".xpi"/> 
      <mimeMap fileExtension=".xpi" mimeType="application/x-xpinstall"/> 
      <remove fileExtension=".safariextz"/> 
      <mimeMap fileExtension=".safariextz" mimeType="application/octet-stream"/> 
      <!-- Flash Video mime types--> 
      <remove fileExtension=".flv"/> 
      <mimeMap fileExtension=".flv" mimeType="video/x-flv"/> 
      <remove fileExtension=".f4v"/> 
      <mimeMap fileExtension=".f4v" mimeType="video/mp4"/> 
      <!-- Assorted types --> 
      <remove fileExtension=".ico"/> 
      <mimeMap fileExtension=".ico" mimeType="image/x-icon"/> 
      <remove fileExtension=".webp"/> 
      <mimeMap fileExtension=".webp" mimeType="image/webp"/> 
      <remove fileExtension=".htc"/> 
      <mimeMap fileExtension=".htc" mimeType="text/x-component"/> 
      <remove fileExtension=".vcf"/> 
      <mimeMap fileExtension=".vcf" mimeType="text/x-vcard"/> 
      <remove fileExtension=".torrent"/> 
      <mimeMap fileExtension=".torrent" mimeType="application/x-bittorrent"/> 
      <remove fileExtension=".cur"/> 
      <mimeMap fileExtension=".cur" mimeType="image/x-icon"/> 
      <remove fileExtension=".webapp"/> 
      <mimeMap fileExtension=".webapp" mimeType="application/x-web-app-manifest+json; charset=UTF-8"/> 
     </staticContent> 
    </system.webServer> 
</configuration> 
相关问题