用C#创建Windows Services

发表于:2010-1-06 10:17

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  Windows服务在Visual Studio 以前的版本中叫NT服务,在VS.net启用了新的名称。用Visual C# 创建Windows服务不是一件困难的事,本文就将指导你一步一步创建一个Windows服务并使用它。这个服务在启动和停止时,向一个文本文件中写入一些文字信息。

  第一步:创建服务框架

  要创建一个新的 Windows 服务,可以从Visual C# 工程中选取 Windows 服务(Windows Service)选项,给工程一个新文件名,然后点击确定。你可以看到,向导向工程文件中增加Service1.cs类:

  其中各属性的含意是:

  • Autolog                 是否自动写入系统的日志文件
  • CanHandlePowerEvent     服务时候接受电源事件
  • CanPauseAndContinue     服务是否接受暂停或继续运行的请求
  • CanShutdown             服务是否在运行它的计算机关闭时收到通知,以便能够调用 OnShutDown 过程
  • CanStop                 服务是否接受停止运行的请求
  • ServiceName             服务名

  第二步:向服务中增加功能

  在 .cs代码文件中我们可以看到,有两个被忽略的函数 OnStart和OnStop。

  OnStart函数在启动服务时执行,OnStop函数在停止服务时执行。在这里,当启动和停止服务时,向一个文本文件中写入一些文字信息,代码如下:

  protected override void OnStart(string[] args)
  {
  FileStream fs = new FileStream(@"d:\mcWindowsService.txt" , FileMode.OpenOrCreate, FileAccess.Write);
  StreamWriter m_streamWriter = new StreamWriter(fs);
  m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);
  m_streamWriter.WriteLine("mcWindowsService:         Service Started"+DateTime.Now.ToString()+"\n");
  m_streamWriter.Flush();
  m_streamWriter.Close();
  fs.Close();
  }
  protected override void OnStop()
  {
  FileStream fs = new FileStream(@"d:\mcWindowsService.txt" , FileMode.OpenOrCreate, FileAccess.Write);
  StreamWriter m_streamWriter = new StreamWriter(fs);
  m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);
  m_streamWriter.WriteLine(" mcWindowsService: Service Stopped "+DateTime.Now.ToString()+"\n");
  m_streamWriter.Flush();
  m_streamWriter.Close();
  fs.Close();
  }

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号