IIS 将 MVC 中的静态文件理解为动态内容

2024-01-05

通过使用 httpCompression,我意识到 IIS 将 MVC 中的静态文件理解为动态内容,因此即使您勾选了“启用静态内容压缩“,但不要勾选”启用动态内容压缩", IIS 将返回.css and .js未压缩的文件:

GET /MVCX/Content/Site.css HTTP/1.1
Host: localhost
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2
Accept: text/css,*/*;
Referer: http://localhost/mvcx/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-GB,en-US;q=0.8,en;q=0.6
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3

HTTP/1.1 200 OK
Content-Type: text/css
Last-Modified: Mon, 05 Dec 2011 12:42:37 GMT
Accept-Ranges: bytes
ETag: "c79895e4bb3cc1:0"
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
Date: Mon, 05 Dec 2011 12:44:43 GMT
Content-Length: 1005

但如果我勾选“启用动态内容压缩“文件被压缩:

GET /MVCX/Content/Site.css HTTP/1.1
Host: localhost
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2
Accept: text/css,*/*;
Referer: http://localhost/mvcx/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-GB,en-US;q=0.8,en;q=0.6
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3

HTTP/1.1 200 OK
Content-Type: text/css
Content-Encoding: gzip
Last-Modified: Mon, 05 Dec 2011 12:42:37 GMT
Accept-Ranges: bytes
ETag: "c79895e4bb3cc1:0"
Vary: Accept-Encoding
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
Date: Mon, 05 Dec 2011 12:48:36 GMT
Content-Length: 522

即使我试图忽略去往的路线~/Content and ~/Scripts,这些文件仍然被理解为动态内容:

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.IgnoreRoute("{Content}/{*pathInfo}");
        routes.IgnoreRoute("{Scripts}/{*pathInfo}");

        routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
        );
    }

我认为这可能是因为 MVC 需要 web.config 行,但也强制所有请求通过 ASP.NET 管道:

<modules runAllManagedModulesForAllRequests="true" />

更新:我尝试将此设置设置为 false 并且发生相同的情况。

有办法避免吗?我不想对动态内容进行压缩,但我确实希望对静态内容进行压缩。

或者是将文件放在其他地方的唯一方法?

Cheers.


我想你会发现里克已经在这里回答了你的问题:

http://www.west-wind.com/weblog/posts/2011/May/05/Builtin-GZipDeflate-Compression-on-IIS-7x http://www.west-wind.com/weblog/posts/2011/May/05/Builtin-GZipDeflate-Compression-on-IIS-7x

老实说,我不确定你为什么会遇到这个问题。静态压缩在 MVC3 中对我来说是开箱即用的,不需要特殊的更改。

就像 RickNZ 所说,确保哑剧类型在applicationhost.config.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IIS 将 MVC 中的静态文件理解为动态内容 的相关文章

  • JavaScriptSerializer 类是否已弃用?

    The MSDN 文档 https msdn microsoft com en us library system web script serialization javascriptserializer v vs 110 aspxJav
  • LINQ to Entities 不支持指定的类型成员“UserName”

    我尝试使用 url 中的 id 参数来显示特定用户的图像 但收到以下错误消息 LINQ to 不支持指定的类型成员 UserName 实体 仅初始值设定项 实体成员和实体导航 支持属性 这是我的操作方法 HttpGet public Act
  • 在HTTP GET中使用MVC3的AntiForgeryToken来避免Javascript CSRF漏洞

    关于这个被黑客攻击的博客 http haacked com archive 2009 06 25 json hijacking aspx 我对实施提议的反 JSON GET 劫持解决方案犹豫不决 因为 缓解 JSON 劫持的推荐解决方案涉及
  • ASP.NET MVC 中的访问控制取决于输入参数/服务层?

    序言 这是一个有点哲学问题 我更多地寻找 正确 的方法来做到这一点 而不是 一种 的方法来做到这一点 假设我有一些产品 以及一个在这些产品上执行 CRUD 的 ASP NET MVC 应用程序 mysite example products
  • 将视图中的 src 属性设置为 MVC3 项目外部的 url

    我正在尝试创建一个应用程序来显示本地存储在网络服务器上的图像 这是我的观点 请注意 条目 是绝对地址 例如 C Images Image1 jpg 但是 当我运行它时 我得到 Not allowed to load local resour
  • MVC3:设置下拉列表选定值

    我正在使用 mvc3 我的视图中有一个下拉列表 Html DropDownListFor m gt m State new SelectList Model StateList Value Text 有没有办法在视图中设置选定的值 扩展 R
  • 部分 ASP.NET MVC 视图提交

    我是 ASP NET MVC 的新手 所以这个问题可能显得 愚蠢 抱歉 我的主视图中有一个部分视图 部分视图提交一个表单 调用 HomeController 内的操作方法 它与服务器验证配合得很好 问题是在发布后仅呈现部分视图 发布后如何呈
  • MVC 使用 var 的示例

    也许我生活在泡沫中 或者只是太新了 但我想知道是否有其他人注意到在 Microsoft 的许多 MVC 示例中大量使用 var 来声明变量而不是特定类型 这样做有什么目的吗 或者这是现在要做的 流行 事情 或者只是个人风格 贾里德 帕森斯
  • 如何使用 IHttpActionResult 设置标头

    我想将令牌添加到 webapi 请求的标头中 我怎样才能做到这一点 这是我的示例代码 public IHttpActionResult Authenticate Login data var Token fdsf123546fskjhf g
  • Asp.net Mvc OutputCache属性和滑动过期

    Calling http foo home cachetest for UrlRoute Path home cachetest OutputCache Duration 10 VaryByParam none public ActionR
  • 适用于移动应用程序的 REST API 上的 OAuth

    我正在开发移动应用程序的后端 使用 ASP NET MVC 4 Web Api 构建 RESTful API 该应用程序将在 iOS 和 Android 上运行 我的用户将只能使用他们的 Facebook 帐户登录 并且只有登录后 他们才能
  • 发布到列表 MVC3

    我试图让我的视图将列表发布回操作 但它始终为空 所以我的模型有一个 WeightEntry 对象列表 运动模型 public class Exercise public List
  • Firefox 页面未正确重定向

    当我访问我的特定网址时asp net mvc 3 questions tagged asp net mvc 3我在 Firefox 中收到此错误 有问题的页面是登录屏幕 页面未正确重定向 Firefox 检测到服务器正在重定向请求 这个地址
  • 无法加载文件或程序集“System.Web.WebPages.Razor,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”ASP.NET MVC

    我浏览了许多以前回答过的答案 但我并不幸运地找到了我的问题的解决方案 这无法加载文件或程序集 System Web WebPages Razor Version 3 0 0 0 Culture neutral PublicKeyToken
  • Kendo Grid 内联编辑中的多选列表

    我需要在剑道网格 内联编辑 中使用多选列表 以便用户可以从每行列表中选择多个值 以下是我的要求 显示时 剑道网格应显示所有选定值的逗号分隔列表 添加时 剑道网格应显示多选列表并允许选择多个值 编辑时 剑道网格应显示具有已选择值的多选列表 用
  • Web 文本编辑器中的 RTF 格式

    网络上是否有支持 RTF 格式文档输入的文本编辑器 我知道这对 webdev 来说有点奇怪 但我需要从数据库中读取 RTF 文档 并在基于 Web 的文本编辑器中对其进行编辑 然后将其存储回 RTF 中 在我在转换工具上投入太多资金之前 我
  • Azure git 部署 - 第二个程序集中缺少引用

    我正在尝试将 Bitbucket 部署设置到 Azure 网站 我成功链接了 Bitbucket 和 Azure 但是当我推送到 Bitbucket 时 我在 Azure 站点上收到以下错误 如果我单击 查看日志 它会显示以下编译错误 D
  • hiddenFor helper 正在从操作参数中提取 id,而不是 viewModel

    我在 ASP Net MVC 中偶然发现了一个非常奇怪的情况 传递一个 id 作为操作参数和一个 id 隐藏表单元素 我有一个带有 id 参数的操作 这个id值代表一个项目 我有一个控制器操作 我正在创建一个数据输入表单 用于将员工分配给传
  • 为什么这个 Web api 控制器不并发?

    我有一个 Web API 控制器 里面有以下方法 public string Tester Thread Sleep 2000 return OK 当我调用它 10 次 使用 Fiddler 时 我预计所有 10 次调用都会在大约 2 秒后
  • 从 SQLCE 4 迁移到 SQL Server 2008

    因此 作为早期采用者 我开发了一个基于 SQLCE4 ASP Net MVC3 和实体框架CTP5 http www microsoft com downloads en details aspx FamilyID 35adb688 f8a

随机推荐

  • 如何正确地将多个片段添加到片段过渡?

    最近问了一个关于fragment的问题here http stackoverflow com questions 12443312 listview not populating or webview taking up entire sc
  • 如何删除android微调器中的默认值?

    我正在使用 JSON 从数据库中获取值并将它们插入微调器中 该进程正在成功运行 但是当我单击微调器时 我收到了两次微调器提示 如何从微调器中删除第一个默认值 This is snapshot hope you understand my p
  • 如何在 Spring 配置文件中混合使用 CGLIB 和 JDK 代理?

    该线程与我遇到的一个问题有关这里关于访问建议类的受保护方法的需求 https stackoverflow com q 10110253 827480 我正在使用 Spring 3 0 6 并创建了一个 Spring 分析方面 我将其应用于使
  • 从 C++ 调用 dll 函数

    我在 dll 中有一个函数 我想从我的 C 应用程序调用它 该 dll 也是用 C 编写的 并且有一个 def 文件 该文件显示了 dll 中存在的函数 我使用的是 Visual Studio 2010 通过在链接器 附加库目录 中添加 D
  • 地图的联合迭代器?

    Preface 关联 C 容器 例如std map有点像只有一个键列的微型数据库 升压的bimap将其提升为一个两列表 在两列中都进行查找 但这就是类比 没有 polymap 来概括这个想法 无论如何 我想继续将地图视为数据库 现在我想知道
  • 普通 es6 类和扩展 React.Component 有什么区别

    我在用着反应全栈 https github com kriasoft react starter kit作为开始我的项目的脚手架 我发现它的示例代码与官方的 React 文档有很大不同 示例代码是这样的 withStyles styles
  • 当我有 UTC 偏移时如何创建 tzinfo?

    我有一个时区与 UTC 的偏移量 以秒为单位 19800 并且也有字符串格式 0530 我如何使用它们来创建一个tzinfo实例 我调查了pytz 但在那里我只能找到以时区名称作为输入的 API 对于 Python 3 2 或更高版本 您可
  • 如何使用 powershell 脚本替换文本文件中的值

    我的文件包含以下数据 无标题 DEPOSIT ADD 123456789 VALUE VARIABLE NNNN VALUEVARIABLE DEPOSIT ADD 234567890 VALUE P75 NNNN VALUEVARIABL
  • 关闭汞分支机构

    使用时hg branch FeatureBranchName并将其发布到开发人员之间共享的中央存储库 有没有办法最终关闭FeatureBranchName它的开发何时正式与默认分支合并 如果FeatureBranchName执行时不可见hg
  • 使用名称jquery通过索引获取id值

    html
  • TFS 回滚与“获取此版本”

    回滚和 获取此版本 有什么区别 它们都让我返回到特定版本 并从那里进行更改和签入 两者兼备有什么额外好处 Get specific version Get this version 仅影响您的本地工作区 它将所有本地更改恢复为旧版本 当您尝
  • 在我的 rspec 中找不到访问方法

    我的 java web 应用程序运行在 tomcat 上http localhost 8080 com http localhost 8080 编写我的第一个规范 home spec require spec helper describe
  • Paypal使用POST方式返回

    我正在尝试使用沙盒帐户测试 Paypal 第三方购物车按钮 该按钮如下所示
  • tr1::mem_fn 和具有默认参数的成员

    我的类有一个带有默认参数的成员函数 struct Class void member int n 0 通过 std tr1 mem fn 我可以调用它 Class object std tr1 mem fn Class member obj
  • 如何在具有 URL 外观的 TextView 中呈现文本

    请问如何渲染文本TextView具有类似于 URL 的外观 带下划线的蓝色文本 它可以与常规文本混合 显示为纯文本 吗 当我点击它时 它就会启动WebView加载该网址 Check autoLink http developer andro
  • dyld:未加载库:@rpath/libswiftCore.dylib。问题仍然存在

    我知道这个问题已经被回答过好几次了 但是当我为 IOS 8 1 编写 Swift 应用程序时 我一直无法找到此错误的正确解决方案 dyld 未加载库 rpath libswiftCore dylib 引用自 private var mobi
  • 在SAS中运行程序的热键?

    我知道在 R 中我可以使用 control r 来运行我的程序代码 我想知道 SAS 中是否有等效的热键 如果没有 有没有办法将其 编程 到 SAS 中 运行 提交程序 的默认热键是 F8 键 如果您使用的是 Base SAS 不是 EG
  • Maven exec:java run可执行插件依赖jar导致NPE

    我正在制作一个使用 sparql 端点服务的 Maven 应用程序 我想要一个 Maven 目标来下载 sparql 端点并启动服务 但似乎 Maven 在配置类路径方面存在一些问题 我正在使用 blazegraph 及其工件https m
  • java.lang.ArrayIndexOutOfBoundsException:RSA 块的数据过多

    我正在使用 RSA 加密文本和解密文本 公钥和私钥是使用openssl工具生成的 解密数据时遇到 java lang ArrayIndexOutOfBoundsException too much data for RSA block 异常
  • IIS 将 MVC 中的静态文件理解为动态内容

    通过使用 httpCompression 我意识到 IIS 将 MVC 中的静态文件理解为动态内容 因此即使您勾选了 启用静态内容压缩 但不要勾选 启用动态内容压缩 IIS 将返回 css and js未压缩的文件 GET MVCX Con