在不安装Windows服务的情况下,如何进行调试或测试

最近由于项目需要,写了几个Windows服务,可是如何对其进行测试呢?

如果通过命令Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe  对其进行安装-测试-卸载-再测试……,岂不把人累死。

这里提供一个简单的方法:

将下Program.cs面的Main方法,如下

satic class Program
{
static void Main()
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new MyService()//你的服务类
};
ServiceBase.Run(ServicesToRun);
}
}

更改为:

static class Program
{
static void Main()
{
#if(!DEBUG)
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new MyService()
};
ServiceBase.Run(ServicesToRun);
#else
MyService myServ = new MyService();
myServ.Process();//Process()方法为你的服务方法,如OnStart里面调用的方法。
#endif
} }

  

 现在你就可以按F5进行调试啦!

  

上一篇:Windows服务 System.ServiceProcess.ServiceBase类


下一篇:java.lang.OutOfMemoryError: unable to create new native thread