我一直在阅读 web.config 文件中的staticContent元素,但在弄清楚 ASP.Net 究竟认为什么是静态内容时遇到了一些麻烦。我假设它将包含图像、js 文件、css 和静态 html 文件,但我似乎找不到任何明确说明这一点的文章。有没有人有详细解释这一点的文档链接?
4 回答
我认为这可能是您缺少的信息 -静态内容 MimeMap
虽然这个问题相当老了,我希望 Kiquenet 能把它整理出来,但实际上没有一个答案能回答这个问题,我发现这篇文章正在寻找答案,我希望其他人也会这样做。这篇文章回答了这个问题:
换句话说,静态文件是那些 IIS 没有特定处理程序的文件。即.Net 框架web.config 部分httpHandlers 中列出的每种文件类型都不是静态的。
请看 Ben Swayne 最出色的答案,引用:
您可以通过导航到您的网站来检查 IIS 中的文件处理程序列表,然后单击“处理程序映射”。默认情况下,这些是从 .Net 基础 web.config 继承的,该基础 web.config 位于不同的位置,具体取决于您的 .Net 框架版本。
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\web.config
如果所请求的文件尚未显式映射到另一个处理程序,则它属于一个捕获所有处理程序 (*) 作为最后一个选项 (System.Web.DefaultHttpHandler),它确定它是静态文件还是目录浏览请求。所以静态文件只是没有绑定到另一个处理程序的文件。
据我了解,web.config 中的 staticContent 元素是您可以设置站点应如何缓存其静态资源的地方。
至于您在此处可以指定哪种内容的问题,您可以从缓存中受益的任何文件,即图像、视频等。
另外,只是为了提供一些我发现有用的链接:
如何在 IIS7 中配置每个文件夹和扩展名的静态内容缓存?
http://www.iis.net/ConfigReference/system.webServer/staticContent/clientCache
http://www.iis.net/configreference/system.webserver/staticcontent/mimemap说,
<mimeMap>
元素的元素<staticContent>
包含在 IIS 7 的默认安装中。
IOW 我认为“静态”文件类型列表是在服务器的 machine.config中定义的和/或使用 web.config 文件覆盖的。
您可以在 IIS 管理器中选择“Mime 类型”来查看 MIME 类型列表...我看到其中大约 400 个,从.323
和.aac
到.xslt
和,.zip
包括但不包括。.htm
.html
.aspx