【问题标题】:Start WCF service application from another application (C#)从另一个应用程序启动 WCF 服务应用程序 (C#)
【发布时间】:2015-02-07 21:54:50
【问题描述】:

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

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

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

【问题讨论】:

  • 服务安装了吗?如果有,它的名字是什么?
  • 看看我更新的答案

标签: c# wcf


【解决方案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

【讨论】:

  • 如果我从 winforms 应用程序调用它,服务将托管在同一进程中,对吗?
  • 没有办法避免吗? WCF服务和winforms应用的位数不同,所以不会这样运行。
  • 如果你愿意,你可以使用 windows 服务来托管你的服务
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-17
  • 1970-01-01
  • 2010-11-09
  • 2012-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多