从另一个应用程序本地调试WCF服务

时间:2019-05-17 04:52:00

标签: .net wcf

我已经检查了几则关于SO的帖子。我在调试本地系统上的WCF时有些困惑。

我有两种解决方法:

  1. WCF服务本身
  2. 使用此服务的Windows控制台应用程序。

在本地系统中安装了IIS。我运行了WCF应用程序,并显示消息“ IIS上托管了服务”。

现在我要调试其他应用程序。我也从VS运行了该应用程序。我想调试WCF和应用程序中的方法。

我想知道是通过这种方式可以调试WCF应用程序,还是有其他更好的调试方法。可以将其安装为Windows服务还是仅需要IIS?

2 个答案:

答案 0 :(得分:2)

您可以在IIS上,在Windows服务中甚至在您的应用程序(WinForms,WPF,控制台)中承载WCF服务。 但这与您对调试的要求无关。

如果要调试本地计算机上正在运行的进程,可以attach the debugger to another process,或者如果该进程在另一台计算机上运行,​​则必须寻找remote debugging

但是,既然您的Visual Studio中包含客户端和服务器代码,为什么不一起启动两个应用程序呢?

  • 如果有两个解决方案,则可以为客户端解决方案启动一个Visual Studio实例,为服务器解决方案启动另一个Visual Studio。然后在两个按钮中都按F5。

  • 如果在一个解决方案中同时包含两个项目,则更加容易:只需将解决方案设置更改为multiple startup projects,然后按F5。

无论哪种方式,您都可以在本地调试客户端和服务器代码。

答案 1 :(得分:1)

最快的方法(如果您同时拥有两个项目,就可以想到调试WCF服务的最简单方法就是

  1. 创建新的解决方案(或仅使用现有的VS解决方案)
  2. 将WCF服务项目和控制台项目都添加到 服务(虽然可以在不同的实例上运行)
  3. 将控制台应用程序设置为主要的启动应用程序
  4. 将服务引用添加到控制台应用程序(然后单击发现 本地按钮)
  5. 这将使用服务库创建服务参考 已创建
  6. 然后只需从控制台APP运行方法,它将击中您的 服务断点