0

Azureで実行するためにWebmatrixweb.configファイルにMIMEタイプを追加しようとしました。

<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(内部サーバーエラー)

アップデート

ファイルは変更されず、SenchaArchitectチュートリアルアプリから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

HTTP500は他のものから来ています。

新しい空のWebサイトで行ったことを正確に追加したところ、期待どおりの結果が得られました。

テストする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.webServer2回定義するか、類似したものを定義します。ロギングを有効にする方法については、このSOの質問を確認してください。

アップデート

cars.json質問を更新した後、それが実際のstaticファイルではないことは明らかです。ですから、質問は少し混乱しています。この「ファイル」内で実行しているスクリプトの種類は何ですか?

更新2

これがあなたのjsonです:http://jsonp.azurewebsites.net/demo.json

どうやらあなたはウェブサイトのセットアップの残りの部分に問題を抱えています。私が言ったように-すべてのロギングをオンにして、実際のエラーメッセージを確認してください。

于 2013-03-27T09:08:39.900 に答える