如何在没有其他 Windows 进程的情况下在 Windows 窗体中自承载 WCF

本文关键字:Windows 窗体 WCF 情况下 进程 其他 | 更新日期: 2023-09-27 18:35:52

我有一个Windows应用程序,并希望在其中自承载WCF。此 MSDN 文章将引导您完成如何在控制台中自承载 WCF。Jason Henderson的文章演示了如何调用该服务。但问题是,我不想在另一个 Windows 进程中托管我的服务。我想在我的客户端应用程序中托管它。这是我的方法:

  1. 按 Ctrl + F5 运行服务
  2. 向我的客户端添加服务引用应用

然后我可以像这样在我的客户端中启动服务

static void Main()
{
    ServiceHost host = new ServiceHost(typeof(MyService));
    host.Open();
    Application.Run(new Form1());
    host.Close();
}

它有效。但是最好的方法是什么?

如何在没有其他 Windows 进程的情况下在 Windows 窗体中自承载 WCF

这正是

Microsoft建议的:

在 Windows 服务中托管http://msdn.microsoft.com/en-us/library/bb332338.aspx