当我试图运行我的应用程序时,我得到这个错误消息。我不知道怎么解决:

HTTP错误404.3 -未找到页面 您所要求的服务无法提供 因为延伸 配置。如果页面是 脚本,添加一个处理程序。如果文件 应该下载,添加一个MIME映射。

下面是错误页面的截图:

我能做什么来修复这个错误?


当前回答

正如@Mahmoodvcs提到的,我需要为我需要直接托管/下载的文件扩展名设置/添加MIME类型,在这种情况下是Heroku的转储文件(postgres的数据库备份),所以为了设置一个公共IIS服务器,你可以下载这些文件,而不需要AWS S3桶或HTTP共享,如dropbox,这是一个很棒的选择!

<staticContent>
  <mimeMap fileExtension=".dump" mimeType="application/octet-stream" />
</staticContent>

其他回答

如果你试图查看一个无扩展名的文件,对我来说是添加一个MIME类型:文件扩展名:。MIME类型:文本/纯

这可能会有一些MVC的影响,特别是如果你的静态文件处理程序在无扩展…处理程序(在IIS /处理程序映射下),但当你只是暂时需要它时,可能是一种解决方法,比如激活SSL Certs。

使用aspnet_regiis.exe注册你正在使用的。net框架版本。

这是一个常见的问题,当IIS安装在VS或。net框架之后时就会发生。

注意:对于Windows 8/10用户,请参阅下面JohnOpincar的另一个回答。还有Kevin Brydon的评论/建议。

关于Server 2016,我需要补充:

aspnet_regiis -lv from this dir: C:\Windows\Microsoft.NET\Framework\v2.0.50727\ 最好的视角 在Server 2016上,不按顺序安装。net和iis不会 似乎是个问题。 Server 2016更可能出现的问题是什么 计算机上没有安装Asp.net。

在我的情况下,我需要为每个文件扩展名添加MIME类型,我想为web配置服务:

<system.webServer>
    <staticContent>
      <mimeMap fileExtension=".shp" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".dbf" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".kml" mimeType="text/xml" />
    </staticContent>
    ...
</system.webServer>

如果这对任何人都有帮助,我在试图运行aspnet_regiis.exe时得到这个错误:

对0x8007000B的操作失败 试图加载格式不正确的程序

事实证明,服务器运行的是2008年64位,而我试图运行32位版本的实用程序。运行在\Windows\Microsoft.NET\Framework64\v2.0.50727中找到的版本修复了这个问题。

c:\Windows\Microsoft.NET\Framework64\v2.0.50727>aspnet_regiis.exe -i