1. ホーム
  2. iis-7

[解決済み] WebApi の {"message": "an error has occurred"} が IIS7 では表示されず、IIS Express では表示されない。

2022-04-20 21:32:26

質問

ASP.NET MVC 4 WebApiを使用しており、IIS Express上のローカルコンピュータでそれを実行して楽しんでいます。 IIS Expressをリモートマシンに提供するように設定したので、社内の他の人が私のコンピュータをWebサーバーとして使用しています。

これはあまり最適な解決策ではないと判断し、.NET 4.5をインストールした後、WebApiをリモートサーバーに置くことにしました。 fiddlerを使用して、私のローカルマシンのコントローラにPOSTを送信すると、正しい応答が返されますが、IIS7を実行しているWebサーバーにドメインを変更すると、同じPOSTが暗号化された応答を返します。

{"message":"an error has occurred"}.

のメッセージが表示されます。 どなたか心当たりのある方はいらっしゃいますか?

解決方法を教えてください。

問題は、サーバーにはなく、私のローカルマシンにあった依存関係が欠けていたことです。 私たちの場合、それはDevart.Data.Linq dllでした。

その答えを得るために、私はIISの500エラーのトレースをオンにしました。 これで少しは情報が得られますが、本当に役に立ったのは、web.configの設定にある <system.web><customErrors mode="Off"/></system.web> これは、動的にロードされる依存関係が欠けていることを指摘しています。 この依存関係を追加し、ローカルにコピーするように指示したところ、サーバーが動き出しました。