クライアント版のWindowsを用いている場合に、Visual Studio のデバッグ環境でJSONファイルにアクセスできないことがあります。
ファイルにアクセスすると下図のエラーが表示されます。
デバッグで利用している IIS Expressに指定した拡張子のMIMEタイプが登録されていないため、ファイルにアクセスできない状態になっています。
実行しているWebアプリケーションプロジェクトのweb.configファイルにMIME Typeを登録するとアクセス可能になります。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json"/>
</staticContent>
</system.webServer>
</configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json"/>
</staticContent>
</system.webServer>
の部分がMIME マップをの登録部分です。拡張子".json"に"application/json"のMIME Typeを登録しています。
拡張子".json"に"application/json"のMIME Typeを追加する場合、
IISのインストールディレクトリ(appcmd が配置されているディレクトリ)で以下のコマンドを実行するとMIME マップが登録できます。
cd "c:\Program Files (x86)\IIS Express" appcmd set config /section:staticContent /+[fileExtension='.json',mimeType='application/json']
コマンドを実行すると下図の結果となります。
の拡張子とmimeTypeの間に空白を入れると動作しません。
MIMEマップを削除する場合は以下のコマンドになります。