Windows服务调试状态下用Console启动

最近一直在用服务,发现服务也没有那么难调试。

Windows服务调试状态下用Console启动:步骤分两步

第一步改Program,启动代码

    static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        static void Main(string[] args)
        {
            if (Environment.UserInteractive)
            {
                //交互模式下执行
                var test = new MyChatService();
                test.TestStartupAndStop(args);
            }
            else
            {
                ServiceBase[] ServicesToRun;
                ServicesToRun = new ServiceBase[]
                {
                new MyChatService()
                };
                ServiceBase.Run(ServicesToRun);
            }
        }
    }
MyChatService 为我的服务,TestStartupAndStop代码:在这个里面启动服务
        public void TestStartupAndStop(string[] args)
        {
            OnStart(args);
            Console.ReadLine();
            OnStop();
        }

第二步修改项目属性=》控制台应用程序

ok,完成。

 

原文地址:https://www.cnblogs.com/zhuyapeng/p/11797647.html

时间: 2024-09-29 08:52:48

Windows服务调试状态下用Console启动的相关文章

Swift 中调试状态下打印日志

首先我们应该知道Swift中真个程序的入口就是在AppDelegate.swift中.所以在打印日志在 AppDelegate.swift中是这样的 import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(application: UIApplication, didFinishLaunchingWi

CreateProcessAsUser,C#写的windows服务弹框提示消息或者启动复杂的UI界面的子进程

服务(Service)对于大家来说一定不会陌生,它是Windows 操作系统重要的组成部分.我们可以把服务想像成一种特殊的应用程序,它随系统的“开启-关闭”而“开始-停止”其工作内容,在这期间无需任何用户参与.Windows 服务在后台执行着各种各样任务,支持着我们日常的桌面操作.有时候可能需要服务与用户进行信息或界面交互操作,这种方式在XP 时代是没有问题的,但自从Vista 开始你会发现这种方式似乎已不起作用. 现在有个需求需要服务程序弹框提示和启动包含复杂UI的桌面程序,"穿透Sessio

Windows服务System权限下在当前用户桌面创建快捷方式C#实例程序

Windows服务一般运行在System权限下,这样权限比较高,方便执行一些高权限的操作. 但是,Environment.GetFolderPath等函数获取的也是System用户下的,而不是当前用户的. 解决方法 模拟当前用户,调用Environment.GetFolderPath等函数获取当前用户的路径,退出模拟 查看输出,可以看到模拟成功了: 第一行是当前用户的,第二行输出的是System用户的路径 获取完整的实例代码 支持WinXP及以上操作系统 原文地址:https://www.cnb

Windows服务监视,如果停止则启动

1.已新建好Windows服务监视器: 2.新建恢复: 注:恢复目标需要为监视器目标的子集 3.使用命令行方式: 运行PS脚本(脚本位于目标计算机本地): 运行VBS脚本: 4.设置完成

as调试状态下输出程序运行堆栈

在调试as代码时,有时候想查看下特定行的程序运行堆栈,这时可以在特定行加入如下代码: var error:Error = new Error(); trace("call stack:" + error.getStackTrace()); 即创建一个错误,来获取当前程序的运行时堆栈,并输出至命令行.

在双系统(Windows与Ubuntu)下删除Ubuntu启动项

问题概述:因为在自己学习Linux的时候,按照网上的教程错误的删除了Ubuntu的一个内核驱动,导致Ubuntu不能启动.我想到的办法是重新安装系统,重装系统的第一步便是将Ubuntu从电脑中卸载.该笔记是有关如何删除Ubuntu启动项的. 使用工具:Windows10,Ubuntu16.04 LTS,easyBCD. 操作步骤: 1.在Windows中进入easyBCD,选择"BCD部署". 2.查看"编辑引导菜单",将Ubuntu选项删除,条目一栏中只剩下Win

VS 通过局域网访问调试状态下的web应用程序

1.点击vs的启动按钮 2.在任务栏找到IIS Express的图标,点击"显示所有应用程序" 3.如果只有本地localhost访问方式,点击对应应用程序的本地URL,就会显示对应的配置文件 4.点击"配置"路径,修改对应网站名称的绑定地址 5.在防火墙添加入站规则,添加端口(上面配置文件绑定的端口,如2860) 6.以管理员身份重启vs,运行程序,可以看到绑定的ip,并可以在局域网内访问了 原文地址:https://www.cnblogs.com/heiao10

Windows服务开发遇到的问题

1.Windows服务安装 通过cmd运行指令安装Windows服务: 安装方法:运行cmd,以InstallUtil.exe 来运行 Windows服务程序. 如果是Release模式的话,直接在cmd窗口粘贴指令 C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe "D:\Project Files\MailSendAuto\MailSendAuto\bin\Release\MailSendAuto.exe"

.net windows 服务创建、安装、卸载和调试

原文:http://blog.csdn.net/angle860123/article/details/17375895 windows服务应用程序是一种长期运行在操作系统后台的程序,它对于服务器环境特别适合,它没有用户界面,不会产生任何可视输出,任何用户输出都回被写进windows事件日志.计算机启动时,服务会自动开始运行,他们不要用户一定登陆才运行. 可以通过选择菜单“开始”-〉“控制面板”-〉“管理工具”-〉“服务”来查看现有系统中的服务,如下图: 创建window 服务 新建一个wind