你必須在一個進程中託管服務,然後從那裏調試它。這可以像編寫一個控制檯應用程序來承載服務,或編寫一個Windows服務來承載它,或者一個Windows窗體應用程序,或將它託管在IIS中一樣簡單。
,你可以在一個控制檯應用主機,像這樣:
static void Main(string[] args)
{
using (ServiceHost host = new ServiceHost(typeof(YourNamespace.YourServiceInterface)))
{
host.AddServiceEndpoint(typeof(
YourNamespace.YourServiceInterface), new NetTcpBinding(), "net.tcp://localhost:9000/YourService");
host.Open();
Console.WriteLine("Press <Enter> to terminate the Host
application.");
Console.WriteLine();
Console.ReadLine();
}
}
this article展示瞭如何在Windows服務的主機。我會建議增加
Debugger.Launch();
爲第一線的OnStart
方法,以便在服務啓動時,您可以附加調試器。這將有助於調試任何啓動問題。否則,你可以從Debug菜單中選擇AttachToProcess,然後附加到正在運行的windows服務上。
你需要添加using System.Diagnostics
使用Debugger.Launch();
方法
您是如何託管此服務的?在IIS下或作爲Windows服務? – Jeff
這是一個Windows服務,而不是IIS – slandau
您將不得不附加到它。調試 - >附加到進程 – ppiotrowicz