您的位置:首页 > 编程语言 > C#

C#创建windows服务

2015-05-06 13:10 302 查看
开发环境:win7 64位旗舰版,vs2012ultimate

1.新建一个项目
2. 从一个可用的项目模板列表当中选择Windows服务

3.输入服务名称

4.切换到代码视图页(按F7或在视图菜单当中选择代码)

5.默认方法

//启动服务执行  

        protected override void OnStart(string[] args)

 //停止服务执行  

        protected override void OnStop()

 //恢复服务执行  

        protected override void OnContinue()

//暂停服务执行  

        protected override void OnPause()

//写日志

 public void WriteLog(string str)

        {
 using (StreamWriter sw = File.AppendText(@"d:\service.txt"))

            {

                sw.WriteLine(str);

                sw.Flush();

            }

        }

6.构造函数

//定时器

        System.Timers.Timer t = null;

        public Service1()

        {

            InitializeComponent();

            //启用暂停恢复  

            base.CanPauseAndContinue = true;

            //每10分钟执行一次  

            t = new System.Timers.Timer(600000);

            //设置是执行一次(false)还是一直执行(true);  

            t.AutoReset = true;

            //是否执行System.Timers.Timer.Elapsed事件;  

            t.Enabled = true;

            //到达时间的时候执行事件(theout方法);  

            t.Elapsed += new System.Timers.ElapsedEventHandler(theout);

        }

 public void theout(object source, System.Timers.ElapsedEventArgs e){XXXXX}

7. 将这个服务程序切换到设计视图
8. 右击设计视图选择“添加安装程序”
9. 切换到刚被添加的ProjectInstaller的设计视图
10. 设置ProjectInstaller组件的属性: 
    1) ServiceName = 服务名称
    2) StartType = Automatic
11. 设置serviceProcessInstaller1组件的属性 
    Account = LocalSystem
12. 生成shift+F6

13.改变路径到你项目所在的bin\Debug文件夹位置(如果你以Release模式编译则在bin\Release文件夹)

例如 cd
c:/klakfdlak
  然后执行命令“InstallUtil.exe MyWindowsService.exe”注册这个服务,使它建立一个合适的注册项。

(InstallUtil.exe文件路径:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe)
14. 右击桌面上“我的电脑”,选择“管理”就可以打计算机管理控制台
15. 在“服务和应用程序”里面的“服务”部分里,你可以发现你的Windows服务已经包含在服务列表当中了
16. 右击你的服务选择启动就可以启动你的服务了

17.卸载服务InstallUtil.exe
MyWindowsService.exe /u

18.调试

 
点击“调试”菜单
 点击“附加到进程”菜单
 在 可用进程 列表中,把进程定位于你的可执行文件MyWindowsService.exe名称上点击选中它
 点击 附加 按钮
在方法里设置一个断点,然后等它执行

参考:http://www.cnblogs.com/qfb620/archive/2008/12/17/1356994.html

分享两篇写过的两篇
window服务:

不同服务器SQL Server数据转换,使用ADO.NET

使用EF加载数据
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  服务 .net c# windows服务