ローカルWebサーバーでコンパイルして正常に動作するASP.NET Web API 2プロジェクトがありますが、IIS 8.5サーバーに公開すると、すべてのリクエストがステータスコード500のサーバーエラーで返されます。追加情報はありません。これは初めてWeb APIを公開しようとしています。Visual Studio 2017を使用してASP.NET Web API 2プロジェクトをIIS 8.5に公開するにはどうすればよいですか?
私はIISでサイトを作って、それを他のサイトと同じように設定し、HTTPSのみに設定しました。私は簡単に接続することができます基本的なdefault.htmlページがあるため、サイトが正しく構成されていると思うが、私はちょうど任意のAPI呼び出しを行うように見えることはできません。私はPostmanを使ってAPIコールをテストしています。
は、Visual Studioで、私はオプションを公開Web配置、Web配置パッケージとファイルシステムを使用しました。後者の2つについて「出版中にプリコンパイル」オプションを使用しても、違いはありません。
Web Deployは、接続の検証を拒否し、リモートコンピュータに接続できず、Web Deployがインストールされていることを確認できません。私はそれが "プログラムと機能"を介していることを確認することができます。そして、私はそれを無駄に接続するために考えることができるURIのすべての組み合わせを試しました。このエラーは私にはMicrosoft troubleshooting pageと表示されますが、提案されたコマンドは機能していないようです。
Web配置パッケージを使用すると、自分のローカルファイルシステムに.zipを作成し、それをホスティングサーバーに転送し、IISからWeb Deployを使用してインポートすることができます。以下のスクリーンショットは、インポート後にIIS Webサイトのルートディレクトリに表示されます。自分のアプリケーションの一部ではないため、テスト用のHTMLファイルを手動で追加します。 binフォルダには、必要なすべてのDLLファイルが含まれているように見えます。
ファイルシステムは、行動の差はないと、Web配置パッケージと同じ構造を出力し公開します。
紛失したことがありますか?私はトラブルシューティングのほかに何があるのか分かりません。
アプリケーションのランタイムがクラッシュしています。トラブルシューティングの最も簡単な方法は、500応答のメッセージを検査することです。アプリケーションに対して適切なerrorDetailsPolicyが選択された場合、メッセージには発生した例外に関する説明が含まれます。次に、Web APIで詳細なエラーを有効にする方法の例を示します。https://lostechies.com/jimmybogard/2012/04/18/custom-errors-and-error-detail-policy-in-asp-net-web-api/ –
私はWeb APIがweb.config customErrorsルールを尊重していなかったことに気付きませんでした。私はこの問題を解決することができました。ありがとうございました! – JacobD