从另一个应用程序 (C#) 启动 WCF 服务应用程序

Start WCF service application from another application (C#)

我有一个 WCF 服务应用程序和一个 Windows 表单应用程序。我想从 WCF 获取一些数据,但它仅从 IDE 自动启动。

我的问题很简单:如何从 Windows 表单应用程序启动 WCF 服务应用程序?

UPD:这两个应用程序的位数不同,因此不能托管在同一进程中。

你可以使用 ServiceHost class
像这样

public static void Main()
{
  using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService)))
  {
    try
    {
      // Open the ServiceHost to start listening for messages.
      serviceHost.Open();

        // The service can now be accessed.
      Console.WriteLine("The service is ready.");
      Console.WriteLine("Press <ENTER> to terminate service.");
      Console.ReadLine();

      // Close the ServiceHost.
      serviceHost.Close();
    }
    catch (TimeoutException timeProblem)
    {
      Console.WriteLine(timeProblem.Message);
      Console.ReadLine();
    }
    catch (CommunicationException commProblem)
    {
      Console.WriteLine(commProblem.Message);
      Console.ReadLine();
    }
  }
}

但是你可以很容易地使它适应 winforms 或者如果你愿意的话 Host a WCF Service in a Managed Windows Service