Asp.net

在asp.net mvc中實現靜態文件記憶體

  • February 4, 2014

我正在嘗試在 ASP.net mvc 應用程序中實現靜態文件記憶體。

我做了什麼:

我在Content文件夾中添加了一個web.config包含以下內容的文件:

<?xml version="1.0"?>
<configuration>
 <system.webServer>
   <staticContent>
     <clientCache cacheControlCustom="public" cacheControlMode="UseMaxAge" cacheControlMaxAge="300.0:00:00" />
   </staticContent>
 </system.webServer>
</configuration>

在網站web.config文件中,我註釋掉了一些程式碼行:

 <system.webServer>
   <validation validateIntegratedModeConfiguration="false" />
   <handlers>
     <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
     <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
     <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
     <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
     <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
     <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
     <!-- Commented them out
     <add verb="GET" path="*.js" name="Static for js" type="System.Web.StaticFileHandler" />
     <add verb="GET" path="*.css" name="Static for css" type="System.Web.StaticFileHandler" />
     <add verb="GET" path="*.png" name="Static for png" type="System.Web.StaticFileHandler" />
     <add verb="GET" path="*.jpg" name="Static for jpg" type="System.Web.StaticFileHandler" />
     -->
   </handlers>

現在,發佈網站並檢查資源,我得到以下響應:

在此處輸入圖像描述

我看到缺少Expire標題?!(不應該是為了讓記憶體工作)

響應頭是否告訴瀏覽器在接下來的 25920000 秒內記憶體資源?

我正在正確地做事以記憶體靜態文件?

這是正確的,你應該沒問題

有人可能會說您也應該Expires為不理解 HTTP/1.1 的客戶端添加 ,但正如第一篇連結文章中已經指出的那樣,這不應該是一個真正的問題,甚至在 7 年後的現在更是如此。

引用自:https://stackoverflow.com/questions/21548334