我有一个WCF服务应用程序和一个Windows窗体应用程序。我想从WCF获取一些数据,但它只能从IDE自动启动。
我的问题很简单:如何从Windows窗体应用程序启动WCF服务应用程序?
UPD:这两个应用程序具有不同的位数,因此无法在同一进程中托管。
答案 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