如何从Web应用程序调试C#/ .NET解决方案中的Web服务

时间:2014-07-28 10:13:16

标签: c# .net web-services visual-studio-2010 visual-studio-debugging

我有一个应用程序解决方案,包含带有Web服务的C#/ .NET中的八个项目。

其中一个项目是网络服务。

所有数据都是通过Windows窗体应用程序中的Web服务获取的。

但是在调试我的Windows应用程序时,我无法调试在Visual Studio 2010中获取数据的Web服务。

如果在触发数据提取事件时如何在解决方案中调试Web服务项目?

5 个答案:

答案 0 :(得分:18)

通常,在Visual Studio中进行调试时,所选的StartUp项目将以调试模式执行。在您的情况下,您需要启动和调试Web API项目以及WinForms项目。您可以通过右键单击解决方案资源管理器并选择设置启动项目来实现。将打开一个对话框,您可以在其中选择多个启动项目,然后选择在调试解决方案时要启动的项目。

Solution Property Pages

另一个选择是拥有一个StartUp项目(Web API项目,因为这是运行其他项目的要求)。然后,您可以右键单击解决方案资源管理器中的WinForms项目,然后选择调试 - > 启动新实例。您可以多次执行此操作来调试同一项目的多个实例。

显然,您始终可以将调试器附加到任何正在运行的进程,如果使用IIS部署Web API,它将已经运行。使用上面概述的过程,Visual Studio将附加到正确的工作进程。

答案 1 :(得分:3)

您可以通过将VS调试器附加到进程来调试web service,如下所示:

Debug > Attach to Process > Attach

您可以浏览您要查找并附加的可用服务。

答案 2 :(得分:2)

您应该将Visual Studio附加到Web服务的主机进程。

此过程通常是IIS工作进程,在Windows Server 2003,Vista上的IIS 6+上名称为w3wp.exe

要附加到此过程,您可以在visual studio中使用Debug -> Attach to Process。在Attach to process对话框中确保您已选中Show processes from all users,并在选择了您的流程后,请确保已选中Managed code。要选择托管代码,请单击Select...并选中Managed Code复选框(V2.0或V4.5,4.0取决于您选择的框架)

答案 3 :(得分:0)

您可以附加到您的网络服务流程。在Visual Studio中,单击菜单调试附加到进程

答案 4 :(得分:0)

本文写作的是2019年,解决方案是附加到IISExpress。调试->附加->在列表中找到iisExpress(而不是托盘)。