在 IIS 7 中下载大型静态 JSON 文件时出现 404 或 500 错误

在 IIS 7 中下载大型静态 JSON 文件时出现 404 或 500 错误

我想要做的事情相当简单,你可能认为。创建静态 json 文件,这样浏览器就可以缓存输出,你不必轮询数据库来获取大量数据。

因此我创建了一个 JSON 文件 test.json,内容如下[{"frut":1}](我的实际文件大小在 3mb 左右)

我去了http://domain.com/frut.json我得到了error 404

404 - 未找到文件或目录。
您正在寻找的资源可能已被删除、名称已更改或暂时不可用。

首先我很惊讶...文件就在那里,为什么不提供下载或者出现 403 禁止...

好的。Google,最后位于https://www.sencha.com/forum/showthread.php?33266-Some-Problem-with-JSON/page2#post_229858

所以我尝试了

IIS7 configuration to support JSON:  
Using IIS manager: clock on IIS server (the main node on the left - where you see the machine name)  
1. Add ‘json’ MIME Type   
    * Double click on ‘MIME Types’ icon  
    * Click ‘Add…’ link (under Actions section on the right side)  
                   In ‘Add MIMI Type’ window type:  
                   File name extension: .json   
                   MIME type: application/x-javascript  
    * Click OK, You should see the .json MIME Type added to the list of the MIME Types list.
2. Add Script Map Handler for ‘json’ MIME Type
    * Double click on ‘Handler Mappings’ icon
    * Click on ‘Add Script Map…’ link (under Actions section on the right side)
    * In ‘Add Script Map’ window type:
           Request path: *.json
           Executable: C:\Windows\System32\inetsrv\asp.dll
           Name: JSON
    * Click OK (Message box pops up with a message: Do you want to allow this ISAPI extension?...etc ) Click Yes, You should see the .json extension added to the list of the Handler Mappings list

好的。Error 500而不是error 404。不明白为什么...怎么回事,到底发生了什么。我检查了日志。什么都没有。只是在请求中模糊地提到了 500。就是这样。没有详细信息,没有错误日志。什么都没有。

我现在真的又开始讨厌微软了。

阅读了很多有关请求限制的内容,但事实并非如此,因为这个文件甚至没有达到 1kb,更不用说 2gb 的限制了。

使用 Google 搜索更多,但最终一无所获。

问题 如何让一个简单的 JSON 文本文件显示在 IIS 7.5 中,这样我就可以使用 ajax 请求进行请求,而不会让 IIS 因一个简单的文本文件而自我终止。

答案1

解决方案看起来很简单但几乎不可能找到从 IIS 中获得所需的行为。

解决办法基本上是,不要充当,application/x-javascript而是充当text/json

根据以下答案IIS 无法提供某些文件扩展名

使用 IIS 管理器:单击 IIS 服务器(左侧的主节点 - 您可以在此处看到计算机名称)

  1. 添加jsonMIME 类型
    • 双击MIME Types图标
    • 点击Add…链接(在右侧的操作部分下)

      Add MIME Type窗口类型中:
      文件扩展名:.json
      MIME 类型:text/json

    • 单击OK,您应该会看到.jsonMIME 类型添加到 MIME 类型列表中。

现在,当您请求该文件时,它会按照您想要的方式将其作为常规文本文件提供。

相关内容