欢迎来到天天文库
浏览记录
ID:37913726
大小:263.50 KB
页数:10页
时间:2019-06-02
《AVCNET自动服务程序C#》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.NET自动服务程序—C#Postedon2006-09-1215:55舞步者阅读(223)评论(0) 编辑收藏所属分类:C#.NET自动服务程序—C#应用程序开发中,常常需要实现这样一种功能:让服务器在每天的特定时刻运行固定的程序(或者实现固定的操作),比如让系统在每天的2:00备份数据库数据。要实现这样的功能,我们可以使用Windows服务(Windowsservice)。Windowsservice是一种系统自动的、无人值守的程序(仅存在于WindowsNT、2000和XP操作系统中),它能够在系统启动时开始运行。用户可以通过ServiceC
2、ontrolManager(SCM)Applet或者一些特殊的service-control应用来访问Windowsservice,使服务在没有用户登录到系统之前执行。 在.NET出现以前,编写Windows服务是VC++、Delphi才能办到的事情,VB必须使用第三方控件才可以办到,而且编写起来特别的复杂。使用Microsoft®.NETFramework,我们可通过创建作为服务安装的应用程序来方便地创建Windows服务。 设计:一个Windows服务程序,按照配置文件中的配置,在指定时刻运行指定程序。流程:启动服务à读取配置文件à
3、启动定时器定时器定时触发(比如每隔30秒)à循环需要运行组件时间à时间到à运行指定程序编写:创建一个WindowsServiceASPectratio="t">将Server1.cs更名为SchedulerServer.cs,双击SchedulerServer.cs打开设计页面,从工具栏的组件中拖Timer控件。更名为SchedulerTimer,并设置Enabled为flase。注意必须是Components里面的Timer控件,WindowsForms里面的Timer控件不行。 F7浏览代码可以看到如下代码 服务器启动的时候运行:///4、mary>///Setthingsinmotionsoyourservicecandoitswork.///protectedoverridevoidOnStart(string[]args){ //TODO:Addcodeheretostartyourservice.} 服务停止的时候运行://////Stopthisservice.///protectedoverridevoidOnStop(){ //TODO:Addcodeheretoperformanytea5、r-downnecessarytostopyourservice.} 添加写日志函数,用来记录服务的日志:publicstaticvoidWriteLog(stringstrLog) { stringstrPath; strPath=System.Environment.SystemDirectory; strPath+=@"SchedulerServer.txt"; 6、 FileStreamfs=newFileStream(strPath,FileMode.OpenOrCreate,FileAccess.Write); StreamWriterm_streamWriter=newStreamWriter(fs); m_streamWriter.BaseStream.Seek(0,SeekOrigin.End); m_streamWriter.WriteLine(s7、trLog); m_streamWriter.Flush(); m_streamWriter.Close(); fs.Close(); } 自动服务配置文件配置文件保存在系统目录,Windows2000为WinNTSystem32,文件名为SchedulerServer.xml,存储了自动服务的所有配置信息,下面我们来看SchedulerSe8、rver.xml的格式:
4、mary>///Setthingsinmotionsoyourservicecandoitswork.///protectedoverridevoidOnStart(string[]args){ //TODO:Addcodeheretostartyourservice.} 服务停止的时候运行://////Stopthisservice.///protectedoverridevoidOnStop(){ //TODO:Addcodeheretoperformanytea
5、r-downnecessarytostopyourservice.} 添加写日志函数,用来记录服务的日志:publicstaticvoidWriteLog(stringstrLog) { stringstrPath; strPath=System.Environment.SystemDirectory; strPath+=@"SchedulerServer.txt";
6、 FileStreamfs=newFileStream(strPath,FileMode.OpenOrCreate,FileAccess.Write); StreamWriterm_streamWriter=newStreamWriter(fs); m_streamWriter.BaseStream.Seek(0,SeekOrigin.End); m_streamWriter.WriteLine(s
7、trLog); m_streamWriter.Flush(); m_streamWriter.Close(); fs.Close(); } 自动服务配置文件配置文件保存在系统目录,Windows2000为WinNTSystem32,文件名为SchedulerServer.xml,存储了自动服务的所有配置信息,下面我们来看SchedulerSe
8、rver.xml的格式:
此文档下载收益归作者所有