服务写好了,但不知道还行不行
写程序的,在写好代码之后,我们通常会调试~
服务程序在调试方面的确有点觉得无从着手~
要经过修改一些地方,就可以实现控制台调试输出,或者直接用VS调试~
将服务项目的输出类型,选择“控制台应用程序”
下面,我们改一下程序入口Program.cs的Main函数就可以了
用控制台运行的时候,在CMD下输入 /degub的参数就可以~
/**/
/// <summary>
/// 应用程序的主入口点。
/// </summary>
static void Main( string [] args)
{
bool RunAsService = true;
if(args.Length > 0)
{
RunAsService = false;
switch (args[0].ToLower())
{
case "/debug":
CareEye.ThreadFunc();
break;
case "/?":
case "/help":
Console.WriteLine("/debug 控制台运行 /? 或者 /help 显示帮助信息 ");
break;
default:
CareEye.ThreadFunc();
break;
}
}
if (RunAsService)
{
ServiceBase[] ServicesToRun;
// 同一进程中可以运行多个用户服务。若要将
// 另一个服务添加到此进程中,请更改下行以
// 创建另一个服务对象。例如,
//
// ServicesToRun = new ServiceBase[] {new Service1(), new MySecondUserService()};
//
ServicesToRun = new ServiceBase[] { new CareEye() };
ServiceBase.Run(ServicesToRun);
}
}
/// 应用程序的主入口点。
/// </summary>
static void Main( string [] args)
{
bool RunAsService = true;
if(args.Length > 0)
{
RunAsService = false;
switch (args[0].ToLower())
{
case "/debug":
CareEye.ThreadFunc();
break;
case "/?":
case "/help":
Console.WriteLine("/debug 控制台运行 /? 或者 /help 显示帮助信息 ");
break;
default:
CareEye.ThreadFunc();
break;
}
}
if (RunAsService)
{
ServiceBase[] ServicesToRun;
// 同一进程中可以运行多个用户服务。若要将
// 另一个服务添加到此进程中,请更改下行以
// 创建另一个服务对象。例如,
//
// ServicesToRun = new ServiceBase[] {new Service1(), new MySecondUserService()};
//
ServicesToRun = new ServiceBase[] { new CareEye() };
ServiceBase.Run(ServicesToRun);
}
}
如果要用VS调试的话?
则需要把Main函数直接改成调用 CareEye.ThreadFunc方法就可以了
/**/
/// <summary>
/// 应用程序的主入口点。
/// </summary>
static void Main( string [] args)
{
bool RunAsService = false;
if (RunAsService)
{
ServiceBase[] ServicesToRun;
// 同一进程中可以运行多个用户服务。若要将
// 另一个服务添加到此进程中,请更改下行以
// 创建另一个服务对象。例如,
//
// ServicesToRun = new ServiceBase[] {new Service1(), new MySecondUserService()};
//
ServicesToRun = new ServiceBase[] { new CareEye() };
ServiceBase.Run(ServicesToRun);
}
else
{
CareEye.ThreadFunc();
}
}
/// 应用程序的主入口点。
/// </summary>
static void Main( string [] args)
{
bool RunAsService = false;
if (RunAsService)
{
ServiceBase[] ServicesToRun;
// 同一进程中可以运行多个用户服务。若要将
// 另一个服务添加到此进程中,请更改下行以
// 创建另一个服务对象。例如,
//
// ServicesToRun = new ServiceBase[] {new Service1(), new MySecondUserService()};
//
ServicesToRun = new ServiceBase[] { new CareEye() };
ServiceBase.Run(ServicesToRun);
}
else
{
CareEye.ThreadFunc();
}
}