如何在控制台调试服务

服务写好了,但不知道还行不行

写程序的,在写好代码之后,我们通常会调试~

服务程序在调试方面的确有点觉得无从着手~

要经过修改一些地方,就可以实现控制台调试输出,或者直接用VS调试~

将服务项目的输出类型,选择“控制台应用程序”

下面,我们改一下程序入口Program.cs的Main函数就可以了

用控制台运行的时候,在CMD下输入 /degub的参数就可以~


ExpandedBlockStart.gif ContractedBlock.gif /**/ /// <summary>
        
/// 应用程序的主入口点。
        
/// </summary>

         static   void  Main( string  [] args)
ExpandedBlockStart.gifContractedBlock.gif        
{
            
bool RunAsService = true;
            
if(args.Length > 0)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
{
                RunAsService 
= false;
                
switch (args[0].ToLower())
ExpandedSubBlockStart.gifContractedSubBlock.gif                
{
                    
case "/debug":
                        CareEye.ThreadFunc();
                        
break;                    
                    
case "/?":
                    
case "/help":
                        Console.WriteLine(
"/debug 控制台运行  /? 或者 /help 显示帮助信息 ");
                        
break;
                    
default:
                        CareEye.ThreadFunc();
                        
break;
                }

            }


            
if (RunAsService)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
{
                ServiceBase[] ServicesToRun;

                
// 同一进程中可以运行多个用户服务。若要将
                
// 另一个服务添加到此进程中,请更改下行以
                
// 创建另一个服务对象。例如,
                
//
                
//   ServicesToRun = new ServiceBase[] {new Service1(), new MySecondUserService()};
                
//
ExpandedSubBlockStart.gifContractedSubBlock.gif
                ServicesToRun = new ServiceBase[] new CareEye() };

                ServiceBase.Run(ServicesToRun);
            }

        }


如果要用VS调试的话?

则需要把Main函数直接改成调用 CareEye.ThreadFunc方法就可以了
ExpandedBlockStart.gif ContractedBlock.gif /**/ /// <summary>
        
/// 应用程序的主入口点。
        
/// </summary>
         static   void  Main( string  [] args)
ExpandedBlockStart.gifContractedBlock.gif        
{
            
bool RunAsService = false;           
            
            
if (RunAsService)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
{
                ServiceBase[] ServicesToRun;

                
// 同一进程中可以运行多个用户服务。若要将
                
// 另一个服务添加到此进程中,请更改下行以
                
// 创建另一个服务对象。例如,
                
//
                
//   ServicesToRun = new ServiceBase[] {new Service1(), new MySecondUserService()};
                
//
ExpandedSubBlockStart.gifContractedSubBlock.gif
                ServicesToRun = new ServiceBase[] new CareEye() };

                ServiceBase.Run(ServicesToRun);
            }

            
else
ExpandedSubBlockStart.gifContractedSubBlock.gif            
{
                CareEye.ThreadFunc();
            }

        }

转载于:https://www.cnblogs.com/jwb_bino/archive/2008/11/07/1329014.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值