系统相关
首页 > 系统相关> > VS2015+Windows服务简易教程

VS2015+Windows服务简易教程

作者:互联网

公司要做一个windows监听文件夹的服务,时间紧急,马上研究,摘了很多坑,最后终于搞定了,步骤如下:

新建windows服务项目

点击切换到代码,写入代码:

 protected override void OnStart(string[] args)
        {
            System.Timers.Timer timer = new System.Timers.Timer();
            timer.Elapsed += new System.Timers.ElapsedEventHandler(TimedEvent);
            timer.Interval = 3000;//每3秒执行一次
            timer.Enabled = true;
            this.WriteLog("搜才Organiz客户端数据同步服务:【服务启动】");
            //Console.WriteLine("开始!");
            //Console.ReadKey();
        }
        protected override void OnStop()
        {
            this.WriteLog("搜才Organiz客户端数据同步服务:【服务停止】");
            //Console.WriteLine("结束!");
            //Console.ReadKey();
        }
        private void TimedEvent(object sender, System.Timers.ElapsedEventArgs e)
        {
            Console.WriteLine(DateTime.Now.ToString());
            using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"D:\temp1\test2.txt", true))
            {
                file.WriteLine(DateTime.Now.ToString());// 直接追加文件末尾,换行 
            }
        }
        private void WriteLog(string msg)
        {
            string path = AppDomain.CurrentDomain.BaseDirectory + "\\log.txt";
            FileInfo file = new FileInfo(path);
            if (!file.Exists)
            {
                FileStream fs = File.Create(path);
                fs.Close();
            }

            using (FileStream fs = new FileStream(path, FileMode.Append, FileAccess.Write))
            {
                using (StreamWriter sw = new StreamWriter(fs))
                {
                    sw.WriteLine(DateTime.Now.ToString() + "" + msg);
                }
            }
        }

注意用2015新建的项目默认用.net framework4.7.2,这里我们在项目-》属性-》应用程序  中修改为之前版本,否者App.config文件会报configration未命名错误,换回低版本即可

 

 双击Service1.cs文件,进入设计页面,对着空白处右键-》添加安装器

 

 修改服务属性

 

 

 

 修改安装程序的属性

 

 

选择localsystem,这里解释一下,因为windows是多用户系统,选择localsystem是为了所有用户登录windows都可以启动服务,并且如果默认选择user,在后期安装时会填写用户和密码

 

然后将从C:\Windows\Microsoft.NET\Framework\v4.0.30319中拷贝installutil.exe文件到生成目录(bin/Debug目的使installutil.exe和dp0WindowsService1.exe在同一级目录)下。在该目录新建“安装.bat”文件,使用记事本打开,输入如下命令:

%~dp0InstallUtil.exe %~dp0WindowsService1.exe
pause

注意前每个命令前要加一个%~dp0,表示将目录更改为当前目录。倘若不加,可能会出错。pause 一定要换行,否则报错。

最后用管理员打开.bat文件,就完成服务注册了。

在我的电脑上右键选择“管理”,打开“服务和应用程序”下的“服务”,就能看到我们注册的服务了。

 

 

标签:StreamWriter,教程,服务,Windows,VS2015,System,Console,WriteLine,new
来源: https://www.cnblogs.com/wangjp-1233/p/12725877.html