Iis 允许在Visual Studio Express 2013 for Web中加载JSON文件

Iis 允许在Visual Studio Express 2013 for Web中加载JSON文件,iis,visual-studio-2013,Iis,Visual Studio 2013,我的问题是,Visual Studio Express 2013 for Web的IIS不允许加载*.json文件。当尝试加载*.json文件时,我得到一个403禁止和一个帮助页面如何配置IIS允许加载json文件,但不知道如何处理此信息/IIS位于何处 这是错误页面: HTTP错误404.3-找不到您请求的页面无法访问 由于扩展配置而被服务。如果页面是 脚本,添加一个处理程序。如果应该下载该文件,请添加MIME 地图 最可能的原因:可能缺少处理程序映射。 默认情况下,静态文件处理程序处理所有内

我的问题是,Visual Studio Express 2013 for Web的IIS不允许加载*.json文件。当尝试加载*.json文件时,我得到一个403禁止和一个帮助页面如何配置IIS允许加载json文件,但不知道如何处理此信息/IIS位于何处

这是错误页面:

HTTP错误404.3-找不到您请求的页面无法访问 由于扩展配置而被服务。如果页面是 脚本,添加一个处理程序。如果应该下载该文件,请添加MIME 地图

最可能的原因:可能缺少处理程序映射。 默认情况下,静态文件处理程序处理所有内容。特色 您试图使用的可能未安装。适当的MIME映射 未为网站或应用程序启用。(警告:请勿 为用户不应下载的内容创建MIME映射,例如 .ASPX页面或.config文件。),如果未安装ASP.NET

您可以尝试的内容:在system.webServer/handlers中:确保 已映射当前页的预期处理程序。格外注意 预条件(例如,runtimeVersion、pipelineMode、bitness) 并将它们与应用程序池的设置进行比较。多付 注意预期处理程序行中的印刷错误。请 验证您尝试使用的功能是否已安装。验证 已启用MIME映射或为网站添加MIME映射 使用命令行工具appcmd.exe。要设置MIME类型,请运行 IIS Express安装目录中的以下命令:appcmd set 配置/节:静态内容 /+[fileExtension='string',mimeType='string']变量 fileExtension string是文件扩展名和变量 mimeType字符串是文件类型描述。例如,要添加 扩展名为“.xyz”:appcmd set config的文件的MIME映射 /节:staticContent/+[fileExtension='.xyz',mimeType='text/plain'] 警告:请确保Web服务器需要此MIME映射 在将其添加到列表之前。配置文件,如.CONFIG或 不应删除动态脚本页面,如.ASP或.ASPX 直接下载,应始终通过处理程序进行处理。 其他文件,如数据库文件或用于存储 配置,如.XML或.MDF,有时用于存储 配置信息。确定客户端是否可以下载这些 文件类型,然后再启用它们。安装ASP.NET。检查失败的 请求跟踪日志以获取有关此错误的其他信息。对于 更多信息,请单击此处

详细错误信息:模块StaticFileModule通知
ExecuteRequestHandler静态文件错误代码0x80070032 请求的URL http://localhost:64107/Settings/Settings.json 物理路径D:\GIT\RepoP\u Paneon\Settings\Settings.json登录 方法匿名登录用户匿名请求跟踪目录
C:\Users\stefank\Documents\IISExpress\TraceLogFiles\REPOP\u PANEON

更多信息:当 请求的URL用于未在服务器上配置的MIME类型。 您可以为未指定的文件的文件扩展名添加MIME类型 动态脚本页面、数据库或配置文件。过程 这些文件类型使用处理程序。你不应该允许直接 下载动态脚本页面、数据库或配置文件。 查看更多信息»


经过更多的谷歌搜索和实验,我发现,您必须在
Web.config
中定义IIS设置

添加以下配置后:


它就像一个符咒

完整安装文件示例:


  • 使用管理员权限打开CMD
  • 转到:

    cd C:\Program Files\IIS Express

    cd C:\Program Files(x86)\IIS Express

  • 运行命令:

    appcmd set-config/section:staticContent/+[fileExtension='JSON',mimeType='application/x-javascript']


我们可能需要区分Visual Studio开发环境(使用IIS Express)与本地IIS和远程服务器(如Azure网站)。例如,为了专门针对IIS Express,我们在
system.webServer/staticContent
下编辑
%USERPROFILE%\Documents\IISExpress\config\applicationhost.config

<mimeMap fileExtension=".json" mimeType="application/javascript" />

最好添加删除标记,以防将来的IIS具有内置json支持。这是mimeMap的web.config部分

<system.webServer>
  <staticContent>
      <remove fileExtension=".woff" />
      <remove fileExtension=".woff2" />
      <remove fileExtension=".json" />
      <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
      <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
      <mimeMap fileExtension=".json" mimeType="application/json" />
  </staticContent>
<system.webServer>


有趣的是,这对我不起作用。我正在使用VS 2013、IIS Express、IE 11、.NET 4.5.1。您的配置文件看起来如何?这对我也不起作用。json文件仍然作为html/text MIME类型使用谢谢。它的工作对我来说就像一种魅力。。。你救了我一天我必须在mimeMap之前添加
<system.webServer>
  <staticContent>
      <remove fileExtension=".woff" />
      <remove fileExtension=".woff2" />
      <remove fileExtension=".json" />
      <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
      <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
      <mimeMap fileExtension=".json" mimeType="application/json" />
  </staticContent>
<system.webServer>