【问题标题】:ASP.NET MVC / IIS 7.5: 500 Internal Server Error for static content onlyASP.NET MVC / IIS 7.5:500 内部服务器错误仅适用于静态内容
【发布时间】:2012-11-20 13:50:44
【问题描述】:

在 IIS 7.5 下运行的 ASP.NET MVC 项目(但早期版本和非 MVC 站点上可能存在问题)已开始返回 500 Internal Server Error 但仅针对静态处理程序处理的内容 - 图像, MVC 本身通过控制器处理的页面等工作正常。

我知道是什么原因造成的 - 我正在记录它以防其他人遇到同样的问题。

【问题讨论】:

    标签: asp.net-mvc iis mime-types


    【解决方案1】:

    我启用了失败的请求跟踪,在搜索了(巨大的)日志后,我发现了这一点:

     <EventData>
      <Data Name="ContextId">{00000000-0000-0000-3700-0080010000FC}</Data>
      <Data Name="ModuleName">CustomErrorModule</Data>
      <Data Name="Notification">536870912</Data>
      <Data Name="HttpStatus">500</Data>
      <Data Name="HttpReason">Internal Server Error</Data>
      <Data Name="HttpSubStatus">19</Data>
      <Data Name="ErrorCode">2147942583</Data>
      <Data Name="ConfigExceptionInfo">
        \\?\C:\Websites\xxx\www\web.config ( 58) :Cannot add duplicate collection 
        entry of type &apos;mimeMap&apos; with unique key attribute 
        &apos;fileExtension&apos; set to &apos;.woff&apos;
      </Data>
     </EventData>
    

    发生的事情是,一种用于提供网络字体 (.woff) 的新 Mime 类型已明确添加到该站点。

    后来,新的 Mime 类型 (.woff) 也被添加到全局 IIS mime 类型中。

    不是网站设置覆盖全局设置,而是抛出异常。

    【讨论】:

    • 我还没有测试过,但如果尝试覆盖 web.config 与全局中的其他设置也会导致这种情况,我不会感到惊讶。
    • 好问题,感谢您发布。事情在 DEV 服务器上运行,客户使用 GoDaddy 购买了主机。部署站点后,我们收到 500 个静态内容(CSS、图像等)请求的错误。我们为 .SVG 添加了一个静态内容 mime 映射以映射到 image/svg+xml,因为 IIS 默认情况下没有。您的回答正是我所需要的,我们从 web.config 中删除了静态内容映射,重新上传并解决了问题。
    • 很高兴它有帮助!这是一个非常糟糕的错误 - 我花了一段时间才弄明白。
    • 我也被吓到了!完全一样的事情......干杯,让我完全困惑
    • 对我来说是 .json。感谢您节省时间!
    【解决方案2】:

    在 godaddy.ocm 共享主机上部署 MVC 3.0 应用程序时终于解决了这个 500 Internal server error

    不知何故,引用的 DLL 版本与 web.config 中提到的版本存在差异。

    尝试了各种论坛中提到的所有选项,没有任何帮助,虽然每个人都提出了相同的修复方法,但不知何故在我的场景中不起作用。终于在敲了我的头两天之后。 我决定删除所有 dll 引用并从项目中删除 web.cofig(制作本地副本)并让应用程序抛出错误,然后将 dll 一个一个添加到 local=true 中。 添加所有dll之后。我创建了一个新的 asp.net mvc 应用程序并将新应用程序的 web.config 复制到我的实际应用程序中。 所以我的实际应用现在有了一个新的 web.config,然后我从我保存的 web.config 的本地副本中复制了连接字符串和其他引用。

    刚刚编译应用程序并发布到本地文件夹 并将发布的文件夹 FTP 到 goDaddy

    成功了,我的问题终于解决了

    希望这对人们有所帮助,他们不要像我一样浪费 2 天时间,

    【讨论】:

      【解决方案3】:

      始终删除您要添加的任何 mimetype,以防它已在 IIS/服务器级别定义,例如:

      <staticContent>
        <remove fileExtension=".otf" />
        <mimeMap fileExtension=".otf" mimeType="application/x-font-otf" />
      </staticContent>
      

      【讨论】:

      • 在 Windows 10 中测试 WebApp 连续给出 500 Internal server error 因为这条线(之前在 Windows 8.1 中是必需的)首先添加删除标签使其在两种环境中都可以工作
      猜你喜欢
      • 2012-10-27
      • 2011-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-11
      相关资源
      最近更新 更多