VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > C#教程 >
  • c#制作windows service 服务系列(二)演示一个定期执行的windows服务

制作者:剑锋冷月 单位:无忧统计网,www.51stat.net
 

  经常有人问起如何让程序定期自动执行,除了像系统任务和SQL JOB/DTS等都可以满足不同的用户需求外,这里演示了如何做一个简单的windows serivce的框架。主要的功能是按照预先设定的时间间隔来执行类似的操作,比如抓取网页,抓取天气预报,群发邮件等。

  假定用户有如下代码需要定期自动执行:

 1 获取内容#region 获取内容
 2        /**//// <summary>
 3        /// 获取内容,by tony 2009.9,16 
 4        /// 邀月(downmoon):3w@live.cn
 5        /// </summary>
 6        public void GetContentByMethods(bool isDelteOldFile)
 7        {
 8            System.Text.StringBuilder builder = new System.Text.StringBuilder();
 9
10            try
11            {
12                DeleteOldFile#region DeleteOldFile
13                if (isDelteOldFile)
14                {
15                    string path = Globals.BakPath;
16                    if (System.IO.Directory.Exists(path))
17                    {
18                        string[] strFiles = System.IO.Directory.GetFiles(path);
19                        foreach (string strFile in strFiles)
20                        {
21                            System.IO.File.Delete(strFile);
22                        }
23                    }
24                }
25                #endregion
26                My Methods#region My Methods
27                int tempCount = 0;
28                string temp = "Operation_{0} was  sucessfully executed at {1} by Operator_{2}!";
29                string temp2 = string.Empty;
30                string filename = Globals.CreateXMLDir(Globals.BakPath) + Globals.StrTempDate + ".txt";
31                for (int k = 0; k < Globals.TopCount; k++)
32                {
33                    temp2 = string.Empty;
34                    //此处从数据表中读取数据,做一些事情,比如发邮件,抓取网页内容等。
35                    temp2 = string.Format(temp, k, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), k) + "\r\n";
36                    builder.Append(temp2);
37                    tempCount++;
38                }
39                builder.Append("total [" + tempCount + "] records was executed this time!");
40                SaveFileResult(filename, builder.ToString());
41                #endregion
42            }
43            catch (Exception ex) { string s = ex.Message; }
44        }

编缉推荐阅读以下文章

  • C#制作Windows service服务系列三--制作可控制界面的windows服务(windows service)
  • C#制作Windows service服务系列一:制作一个可安装、可启动、可停止、可卸载的Windows service
 

  那么,只需要将以上代码放在windows service环境下,部署成windows service,即可定期执行

  详细过程我就省略了! 看文后源码

  说明:

  1、SetupServer.bat ,双击可安装服务

  2、unInstallServer.bat,双击可卸载服务

  3、主要文件WSDemoByTime.exe

  4、配置文件WSDemoByTime.exe.config(主要配置数量、间隔时间、数据连接等)

  运行效果,这里只演示了生成一个基本的记录文件。见图;

C#制作Windows service服务系列二:演示一个定期执行的windows服务(windows service)

  图片看不清楚?请点击这里查看原图(大图)。

C#制作Windows service服务系列二:演示一个定期执行的windows服务(windows service)

  图片看不清楚?请点击这里查看原图(大图)。

 

  本文示例源代码或素材下载

编缉推荐阅读以下文章

  • C#制作Windows service服务系列三--制作可控制界面的windows服务(windows service)
  • C#制作Windows service服务系列一:制作一个可安装、可启动、可停止、可卸载的Windows service
 

  那么,只需要将以上代码放在windows service环境下,部署成windows service,即可定期执行

  详细过程我就省略了! 看文后源码

  说明:

  1、SetupServer.bat ,双击可安装服务

  2、unInstallServer.bat,双击可卸载服务

  3、主要文件WSDemoByTime.exe

  4、配置文件WSDemoByTime.exe.config(主要配置数量、间隔时间、数据连接等)

  运行效果,这里只演示了生成一个基本的记录文件。见图;

C#制作Windows service服务系列二:演示一个定期执行的windows服务(windows service)

  图片看不清楚?请点击这里查看原图(大图)。

C#制作Windows service服务系列二:演示一个定期执行的windows服务(windows service)

  图片看不清楚?请点击这里查看原图(大图)。

 

  本文示例源代码或素材下载

编缉推荐阅读以下文章

  • C#制作Windows service服务系列三--制作可控制界面的windows服务(windows service)
  • C#制作Windows service服务系列一:制作一个可安装、可启动、可停止、可卸载的Windows service


相关教程