0

我尝试将 MIME 类型添加到 webmatrix web.config 文件以在 Azure 中运行:

<system.webServer>
     <staticContent>
         <mimeMap fileExtension=".json" mimeType="application/json" />
     </staticContent>
</system.webServer>

但是在尝试加载 json 文件时出现 500(内部服务器错误)。

该网站在本地工作。

我需要在 Azure 中做些什么吗?

(编辑:)

我在 web.config 中的所有内容是:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
     <system.data>
    <DbProviderFactories>
        <remove invariant="System.Data.SqlServerCe.4.0" />
        <add invariant="System.Data.SqlServerCe.4.0" name="Microsoft® SQL Server®    Compact 4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    </DbProviderFactories>
    </system.data>
<system.webServer>
  <staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
</system.webServer>
</configuration>

没有 MIME 类型的位是由 webMatrix 生成的。

控制台错误:

GET http://carlistings.azurewebsites.net/CarListings/data/cars.json?_dc=1364378861597&page=1&start=0&limit=25 500(内部服务器错误)

更新

该文件不会更改,而是由 Sencha Architect 教程应用程序中的 JavaScript 调用。

{
"img" : "2004_Porsche_911_Carrera_type_997.jpg",
"manufacturer" : "Porsche",
"model" : "911",
"price" : 135000,
"wiki" : "http://en.wikipedia.org/wiki/Porsche_997",
"quality" : [{
    "name" : "overall",
    "rating" : 1
},{
    "name" : "mechanical",
    "rating" : 4
},{
    "name" : "powertrain",
    "rating" : 2
},{
    "name" : "body",
    "rating" : 4
},{
    "name" : "interior",
    "rating" : 3
},{
    "name" : "accessories",
    "rating" : 2
}]
}

更新 2

我注意到在本地运行应用程序(应用程序正常运行的地方),错误日志将 cars.json 文件显示为 application/json,而在 Azure 服务器上,它显示为 text/html。

看来 Azure 服务器正在使用其他内容忽略我的 web.config 文件......

(我已在 Azure 中启用调试,但还找不到错误列表...)

4

1 回答 1

0

HTTP 500 来自其他东西。

我准确地添加了您在新的空网站中所做的事情,结果符合预期。

测试 URL:http: //jsonp.azurewebsites.net/demo.json

这是来自请求的提琴手跟踪:

GET http://jsonp.azurewebsites.net/demo.json HTTP/1.1
User-Agent: Fiddler
Host: jsonp.azurewebsites.net

而且反应也如预期:

HTTP/1.1 200 OK
Content-Length: 30
Content-Type: application/json
Last-Modified: Wed, 27 Mar 2013 09:03:09 GMT
Accept-Ranges: bytes
ETag: "cc2c13e7c92ace1:0"
Server: Microsoft-IIS/7.5
.. aditional header omitted for readability
Date: Wed, 27 Mar 2013 09:03:52 GMT

{"title":"demo","count":10}

我建议您打开所有可能的日志记录并检查错误日志。很可能你定义system.webServer了两次,或者类似的东西。查看有关如何启用日志记录的SO question 。

更新

更新问题后,很明显这cars.json不是真实static文件。所以这个问题有点混乱。你在这个“文件”中执行什么类型的脚本?

更新 2

这是你的 json:http: //jsonp.azurewebsites.net/demo.json

显然,您在网站设置的其余部分遇到问题。正如我所说 - 打开所有日志记录并检查真正的错误消息。

于 2013-03-27T09:08:39.900 回答