Webサービスを使用したC#/。NETの8つのプロジェクトで構成されるアプリケーションソリューションがあります。
プロジェクトの1つはWebサービスです。
すべてのデータは、WindowsフォームアプリケーションのWebサービスを介してフェッチされます。
しかし、Windowsアプリケーションのデバッグ中に、Visual Studio2010でデータをフェッチするために必要なWebサービスをデバッグできません。
データフェッチイベントが発生したときに、ソリューションでWebサービスプロジェクトをデバッグするにはどうすればよいですか?
通常、Visual Studioでデバッグする場合、選択したスタートアッププロジェクトはデバッグモードで実行されます。あなたの場合、WebAPIプロジェクトとWinFormsプロジェクトの両方を開始してデバッグする必要があります。これを行うには、ソリューションエクスプローラーを右クリックし、スタートアッププロジェクトの設定を選択します。ダイアログボックスが開き、複数のスタートアッププロジェクトを選択してから、ソリューションのデバッグ時に開始するプロジェクトを選択できます。
もう1つのオプションは、単一のStartUpプロジェクトを用意することです(これは他のプロジェクトを実行するための要件であるため、Web APIプロジェクト)。次に、ソリューションエクスプローラーでWinFormsプロジェクトを右クリックし、デバッグ-> 新しいインスタンスの開始を選択します。これを複数回実行して、同じプロジェクトの複数のインスタンスをデバッグできます。
もちろん、実行中のプロセスにはいつでもデバッガーをアタッチできます。WebAPIがIISを使用してデプロイされている場合は、既に実行されています。上記の手順を使用すると、VisualStudioは適切なワーカープロセスにアタッチされます。 。
次のようにVSデバッガーをプロセスにアタッチすることにより、web service
をデバッグできます。
Debug > Attach to Process > Attach
あなたが探している利用可能なサービスを閲覧して添付することができます。
VisualStudioをWebサービスのホストプロセスに接続する必要があります。
このプロセスは通常、IISワーカープロセスであり、名前はw3wp.exe
on IIS 6+ on Windows Server 2003、Vista以降です。
このプロセスにアタッチするには、VisualStudioでDebug -> Attach to Process
を使用できます。 Attach to process
ダイアログボックス内でShow processes from all users
をチェックしていることを確認し、プロセスを選択するときにManaged code
が選択されていることを確認します。マネージコードを選択するには、Select...
をクリックし、Managed Code
チェックボックスをオンにします(V2.0またはV4.5,4.0は、選択したフレームワークによって異なります)
この記事は2019年で、解決策はIISExpressに添付することです。デバッグ->アタッチ->リストでiisExpress(トレイではない)を見つけます。
Webサービスのプロセスにアタッチできます。 Visual Studioで、メニューデバッグ→プロセスにアタッチをクリックします。