我有一個WCF服務應用程序和一個Windows窗體應用程序。我想從WCF獲取一些數據,但它只能從IDE自動啓動。從另一個應用程序(C#)啓動WCF服務應用程序
我的問題很簡單:如何從Windows窗體應用程序啓動WCF服務應用程序?
UPD:這2個應用程序有不同的位數,所以不能在同一個進程中託管。
我有一個WCF服務應用程序和一個Windows窗體應用程序。我想從WCF獲取一些數據,但它只能從IDE自動啓動。從另一個應用程序(C#)啓動WCF服務應用程序
我的問題很簡單:如何從Windows窗體應用程序啓動WCF服務應用程序?
UPD:這2個應用程序有不同的位數,所以不能在同一個進程中託管。
可以使用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
是否安裝了服務?如果是這樣,它的名字是什麼? – rene 2015-02-07 21:59:00
@rene不,它不是 – AndrewR 2015-02-07 22:01:06
看看我更新的答案 – 2015-02-07 22:33:22