コントローラーに有効なメソッドがあるとします。疑似コードは次のようになります。
public IEnumerable<ViewMP3> MyMP3(string token, string id)
{
using (ControlDbContext db = new MyDbContext())
{ List<ViewMP3> list = ...some list linq statement
return list;
}}
HttpClient を使用して WebAPI を使用しましたが、エラーは発生しません。ここで、意図的にエラーをスローするとします。 throw new ArgumentException("hello"); //上記のメソッドに挿入
実際の詳細なエラー メッセージを取得するにはどうすればよいですか。私が得ることができるのは IIS 7.5 の詳細なエラー - 500.0 - 内部サーバー エラーです。注: 問題を混乱させないように、WebAPI サービスのエラー出力を文字列でクライアントに渡します。エラーはサービス内で発生していますが、500.0 エラーのみが生成されます。通常は JSON が返されますが、既知のエラー条件が設定されている場合は、コードを変更して、応答を文字列形式で取得し、クライアントに渡します。それが、エラーの内容を知る方法です。
「ブラウザにエラーを送信」を有効にしてみました。IIS エラー ページ機能の設定を詳細なエラーに変更しました。含むように Web.Config を変更しました
<customErrors mode="Off" />
<compilation debug="true" targetFramework="4.0" />
と
<httpErrors errorMode="Detailed">
<remove statusCode="500" subStatusCode="-1" />
</httpErrors> .
Web ファイルを含むフォルダーに IIS_IUSRS 権限を付与しました。
その日の早い段階で、一般的な 500.0 エラーのためにトラブルシューティングがほぼ不可能な実際のエラーが発生しました。詳細なエラーメッセージを取得するために他に何ができるか考えていますか?
ありがとう!