gpt4 book ai didi

c# - 调试 WCF 服务

转载 作者:太空狗 更新时间:2023-10-30 00:34:43 25 4
gpt4 key购买 nike

所以我们在 SOA 架构中运行。我有一项服务,我正在尝试将其调试到来自不同解决方案中的 WinForms 应用程序的调用中。

在这个 winforms 应用程序中,我已经在 app.config 中正确引用了本地主机上的服务,现在我想启动一个 WCF 服务实例,这样我就可以设置一个断点并单步执行它。

当我进入服务时,我右键单击该项目,转到属性,然后在“开始操作”下,我选择服务 bin/debug/目录中的 .exe 文件。然后我保存、编译并按 F5 启动它的一个实例。我收到此错误:

enter image description here

我应该做什么?

最佳答案

您必须在一个进程中托管该服务,然后从那里对其进行调试。这可以像编写控制台应用程序来托管服务一样简单,或者编写 Windows 服务来托管服务,或者 Windows 窗体应用程序,或者在 IIS 中托管它。

您可以像这样在控制台应用程序中托管:

static void Main(string[] args)
{
using (ServiceHost host = new ServiceHost(typeof(YourNamespace.YourServiceInterface)))
{
host.AddServiceEndpoint(typeof(
YourNamespace.YourServiceInterface), new NetTcpBinding(), "net.tcp://localhost:9000/YourService");
host.Open();

Console.WriteLine("Press <Enter> to terminate the Host
application.");
Console.WriteLine();
Console.ReadLine();
}
}

this article显示如何在 Windows 服务中托管。我建议添加

Debugger.Launch();

作为 OnStart 方法的第一行,以便您可以在服务启动时附加调试器。这将有助于调试任何启动问题。否则,您只需从调试菜单中选择 AttachToProcess 并附加到正在运行的 Windows 服务。

您需要添加using System.Diagnostics 以使用Debugger.Launch(); 方法

关于c# - 调试 WCF 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6874539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com