2017-08-29 5 views
0

私はWebAPIとWeb APIでサービスを呼び出すフロントエンドを構築しています。フロントエンドからWebAPI関数を呼び出す唯一の方法は、フロントエンドが呼び出しを行うときにWebAPIをIISで実行させることです。WebAPIとフロントエンドを同じソリューションでテストしますか?

これは、Visual Studioだけ実行し、一度に一つのプロジェクトをデバッグすることができますよう、それは同じプロジェクトにWebAPIのフロントエンドをデバッグすることはできませんを意味します(私は間違えてる場合を除き?)

私が使用していますWebAPIプロジェクトをフロントエンドの参照として、データベース接続文字列やそれが起動時に呼び出された依存関係注入とともに、どこに含めるかを考えてください。

セットアップが正常に動作しています。同じソリューションからwebapiとフロントエンドをデバッグできます。

webapiとフロントエンドを分割して展開するときに、これには何らかの欠点がありますか?

+0

VSで複数のプロジェクトをデバッグすることについて、あなたは間違っています:[複数のプロセスをデバッグ](https://msdn.microsoft.com/en-us/library/jj919165.aspx)ツールはしばらくの間これを実行することができました。これはVS 2017にも当てはまります。 –

+0

@ R.リチャーズは正当な解決策のように見えますが、残念ながら私のwebapiコールは「TypeError:フェッチできませんでした」というメッセージが表示されないようにしています。これはそのメソッドや他のものの制限であるかどうかわかりません。 – tweetypi

+0

異なるポート番号で実行するように設定された各プロジェクトがある限り、それらの間には矛盾があってはいけません。 –

答えて

1

これはVisual Studioがしばらくサポートしているものです。このツールの素晴らしい機能です。

たとえば、MVC Webアプリケーションと、MVCアプリケーションが呼び出すAPIアプリケーションを含むソリューションがあるとします。 2つのアプリケーションを同時にデバッグしてソリューションプロパティを開くには、共通プロパティ/スタートアッププロジェクトペインで複数起動プロジェクトオプションを選択します。 MVCとAPIプロジェクトを設定するアクション開始。そこに依存関係があるので、MVCプロジェクトの前に開始するようにAPIプロジェクトを設定することができます。

異なるポート番号で実行するように設定された各プロジェクトがある場合は、それらの間に競合があってはなりません。

各プロジェクトのプロジェクトプロパティを開いて、ポートが競合しないことを確認し、デバッグタブに移動します。 アプリケーションURLの設定をのWebサーバー設定にしてください。デフォルト値はhttp://localhost:{port}/です。ポートはプロジェクトごとに異なります。 2つのプロジェクトが同じポート番号を使用していないことを確認してください。

ハッピーデバッグ!

関連する問題