我有一个ASP.NET MVC 5项目,它使用dotless
来解析/编译.less
文件,使用标准的bundler来缩小/捆绑js文件。
问题是,在生产服务器上,当IIS上的本地表示设置为max-age=0, no-cache, no-store
并在一年后到期时,cache-conrole标头设置为public
。
无点配置:<dotless minifyCss="true" cache="true" web="true" handleWebCompression="false" />
捆绑配置 - 只包括和BundleTable.EnableOptimizations = true;
很少有可能有用的网络配置部分:
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
</staticContent>
...
<modules runAllManagedModulesForAllRequests="true">
<add name="Prerender" type="Prerender.io.PrerenderModule, Prerender.io, Version=1.0.0.2, Culture=neutral, PublicKeyToken=null"/>
<add name="Spring" type="Spring.Context.Support.WebSupportModule, Spring.Web" />
<add name="OpenSessionInView" type="Spring.Data.NHibernate.Support.OpenSessionInViewModule, Spring.Data.NHibernate32" />
</modules>
...
<handlers>
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="dotless" path="*.less" verb="GET" type="dotless.Core.LessCssHttpHandler,dotless.Core" resourceType="File" preCondition="" />
</handlers>
我尝试将mime地图添加到staticContent
部分。还考虑在iis中添加请求标头,但它仅适用于文件/文件夹,因此它可能不会提供捆绑包。
我在配置中错过了什么?我很欣赏解决这个问题的任何想法。
答案 0 :(得分:1)
检查你的web.config中是否有这个东西:
<configuration>
<system.web>
<compilation debug="false"/>