日期:2009-05-31  浏览次数:20353 次

主要是比较一下用VS.Net写Windows Service的简洁性。
间回答上面的那篇IO读写问题
  

导读:
  
Windows服务在Visual Studio 以前的版本中叫NT服务,在VS.net启用了新的名称。
用Visual C# 创建Windows服务不是一件困难的事,本文就将指导你一步一步创建
一个Windows服务并使用它。这个服务在启动和停止时,向一个文本文件中写入文
字信息。这个小技巧来自于MSDN,但是现在程序编写的更加清晰,并且你可以根据
你的需要修改它。
  
Windows服务在Visual Studio 以前的版本中叫NT服务,在VS.net启用了新的名称。
用Visual C# 创建Windows服务不是一件困难的事,本文就将指导你一步一步创建
一个Windows服务并使用它。这个服务在启动和停止时,向一个文本文件中写入文
字信息。这个小技巧来自于MSDN,但是现在程序编写的更加清晰,并且你可以根据
你的需要修改它。
  
第一步:创建服务框架
Visual C# 工程中选取 Windows 服务(Windows Service)选项......
向导向工程文件中增加WebService1.cs类...
  
第二步:向服务中增加功能
在 WebService1.cs中我们可以看到,有两个被忽略的函数 OnStart和OnStop。
protected override void OnStart(string[] args)
{
FileStream fs = new FileStream(@"c:\temp\mcWindowsService.txt" , FileMode.OpenOrrCreate, FileAccess.Write);
StreamWriter m_streamWriter = new StreamWriter(fs);
m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);
m_streamWriter.WriteLine(" mcWindowsService: Service Started \n");
m_streamWriter.Flush();
}
  
protected override void OnStop()
{
FileStream fs = new FileStream(@"c:\temp\mcWindowsService.txt" , FileMode.OpenOrrCreate, FileAccess.Write);
StreamWriter m_streamWriter = new StreamWriter(fs);
m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);
m_streamWriter.WriteLine(" mcWindowsService: Service Stopped \n");
m_streamWriter.Flush();

}
  
第三步:安装和运行服务
这个应用程序最后生成一个exe文件mcWinService.exe。要注册这个服务,你需
启动开始菜单中的命令行按如下方式调用
installutil:installutil C:\mcWebService\bin\Debug\mcWebService.exe。
要卸载服务,使用 /u 选项:
installutil /u C:\mcWebService\bin\Debug\mcWebService.exe。
  
第四步:启动和停止服务
Mycomputer->Manage->/ Services and Applications/Services
or: Computer Management/Services
你就能看到服务 mcWinService,右键单击弹出菜单中有启动和停止选项
  
第五步:测试服务