惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
G
Google Developers Blog
M
MIT News - Artificial intelligence
Vercel News
Vercel News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
GbyAI
GbyAI
B
Blog RSS Feed
Blog — PlanetScale
Blog — PlanetScale
Microsoft Security Blog
Microsoft Security Blog
V
Visual Studio Blog
Stack Overflow Blog
Stack Overflow Blog
雷峰网
雷峰网
The Cloudflare Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
F
Fortinet All Blogs
L
LangChain Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
A
About on SuperTechFans
T
The Blog of Author Tim Ferriss
B
Blog
J
Java Code Geeks
Hugging Face - Blog
Hugging Face - Blog
I
InfoQ
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com

博客园 - 末世纪狂潮

[导入]Pylogs v1.14beta (正式支持Django 1.0) 发布 [导入]Django中动态改变ImageField和FileField中文件的上传路径 [导入]Tech·ED 2008 票到了。。。 [导入]ASP.NET获取客户端IP地址的几点补充[转载] - 末世纪狂潮 - 博客园 [导入]Windows Live Mail不能启动的解决办法 - 末世纪狂潮 [导入]Linux Mint中文语言包 [导入]XPS 1530安装MAC OsX 10.5.2指南 [导入]奥运加油,中国加油 [导入]IE7打不开微软的首页了? [导入]linux下常用格式的压缩与解压方法 [导入]利用PIL生成水印图片或文字 [导入]Pylogs v1.12beta发布 test live write write blog 测试tb .NET中实现无刷新客户端联动下拉菜单 "百万首页"深度思考 QQ天气预报代码 QQ登录没反应解决方法,及新版QQ的一个BUG 要开始学JAVA了,郁闷中。。。
用C#写一个简单的WINDOWS服务程序
末世纪狂潮 · 2006-10-12 · via 博客园 - 末世纪狂潮

服务程序在C#中的写法。
        1.在VS.NET2003中新建一个WINDOWS服务程序的项目WinSrv_A。
        2.更改SERVICE1.CS属性SERVICENAME为你所要建立的服务名称,在服务管理器->名称中你可以看到你的服务名
        3.按F7进入代码窗口,里面有2个重载函数是你要在其中写代码的一个是
            //protected override void OnStart(string[] args)
            //{...} //这个函数是你启动服务后执行的函数
            //protected override void OnStop()
            //{...}//这个函数是你停止服务后执行的函数
           

            我这里简单的做一个记录启动和终止服务的时间的功能。写如日志文档。
           
            protected override void OnStart(string[] args)
            {
                   // TODO: 在此处添加代码以启动服务。
                   String s = System.DateTime.Now.ToString();
                   if(!File.Exists("c:\\srvlog.txt"))
                   {
                        StreamWriter sr = File.CreateText("c:\\bbbirdlog.txt");
                        sr.WriteLine("-------------------------START SRV---------------------");
                        sr.WriteLine ("我的新服务在{0}时间开始",s);
                        sr.WriteLine ("我可以写整型 {0} or 浮点型 {1},等等.",1, 4.2);
                        sr.Close();
                   }
                   else
                   {
                       StreamWriter sr = File.AppendText("c:\\bbbirdlog.txt");
                       sr.WriteLine("-------------------------START SRV---------------------");
                       sr.WriteLine ("我的新服务在{0}时间开始",s);
                       sr.WriteLine ("我可以写整型 {0} or 浮点型 {1},等等.",1, 4.2);
                       sr.Close();
                   }
              }
 
               /// <summary>
               /// 停止此服务。
               /// </summary>
               protected override void OnStop()
               {
                        // TODO: 在此处添加代码以执行停止服务所需的关闭操作。
                        String s1 = System.DateTime.Now.ToString();
                        if(!File.Exists("c:\\srvlog.txt"))
                        {
                         StreamWriter sr = File.CreateText("c:\\bbbirdlog.txt");
                         sr.WriteLine("-------------------------STOP SRV---------------------");
                         sr.WriteLine ("我的新服务在{0}时间停止",s1);
                         sr.Close();
                        }
                        else
                        {
                         StreamWriter sr = File.AppendText("c:\\bbbirdlog.txt");
                         sr.WriteLine("-------------------------STOP SRV---------------------");
                         sr.WriteLine ("我的新服务在{0}时间停止",s1);
                         sr.Close();
                         }
                   }
               
            4.回到设计窗口点右键选择添加安装程序生成serviceInstaller1和serviceProcessInstaller1两个组件
               把serviceInstaller1的属性ServiceName改写为你的服务程序名,并把启动模式设置为AUTOMATIC
               把serviceProcessInstaller1的属性account改写为LocalSystem
            5.编译链接生成服务程序。
            6.用.net framework工具INSTALLUTIL安装服务程序即可。