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

时间:2015-02-07 21:54:51

标签: c# wcf

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

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

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

1 个答案:

答案 0 :(得分:1)

您可以使用ServiceHost班级 像这样的东西

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