using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.ServiceProcess;namespace WeatherService
{
public class Service : System.ServiceProcess.ServiceBase
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;
private WeatherManager weatherManager = null; public Service()
{
// 该调用是 Windows.Forms 组件设计器所必需的。
InitializeComponent();
weatherManager = new WeatherManager(); // TODO: 在 InitComponent 调用后添加任何初始化
} // 进程的主入口点
static void Main()
{
System.ServiceProcess.ServiceBase[] ServicesToRun;
// 同一进程中可以运行多个用户服务。若要将
//另一个服务添加到此进程,请更改下行
// 以创建另一个服务对象。例如,
//
// ServicesToRun = New System.ServiceProcess.ServiceBase[] {new Service1(), new MySecondUserService()};
//
ServicesToRun = new System.ServiceProcess.ServiceBase[] { new Service() }; System.ServiceProcess.ServiceBase.Run(ServicesToRun);
} /// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
components = new System.ComponentModel.Container();
this.ServiceName = "WeatherService";
} /// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
} /// <summary>
/// 设置具体的操作,以便服务可以执行它的工作。
/// </summary>
protected override void OnStart(string[] args)
{
weatherManager.TimerStarting();
}
/// <summary>
/// 停止此服务。
/// </summary>
protected override void OnStop()
{ weatherManager.TimerStop();
}
}
}
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.ServiceProcess;namespace WeatherService
{
public class Service : System.ServiceProcess.ServiceBase
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;
private WeatherManager weatherManager = null; public Service()
{
// 该调用是 Windows.Forms 组件设计器所必需的。
InitializeComponent();
weatherManager = new WeatherManager(); // TODO: 在 InitComponent 调用后添加任何初始化
} // 进程的主入口点
static void Main()
{
System.ServiceProcess.ServiceBase[] ServicesToRun;
// 同一进程中可以运行多个用户服务。若要将
//另一个服务添加到此进程,请更改下行
// 以创建另一个服务对象。例如,
//
// ServicesToRun = New System.ServiceProcess.ServiceBase[] {new Service1(), new MySecondUserService()};
//
ServicesToRun = new System.ServiceProcess.ServiceBase[] { new Service() }; System.ServiceProcess.ServiceBase.Run(ServicesToRun);
} /// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
components = new System.ComponentModel.Container();
this.ServiceName = "WeatherService";
} /// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
} /// <summary>
/// 设置具体的操作,以便服务可以执行它的工作。
/// </summary>
protected override void OnStart(string[] args)
{
weatherManager.TimerStarting();
}
/// <summary>
/// 停止此服务。
/// </summary>
protected override void OnStop()
{ weatherManager.TimerStop();
}
}
}
using System.Net;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
using System.Timers;
using System.Threading;
using System.Diagnostics;
using System.Xml;
using System.Text.RegularExpressions;
using System.Collections;
using System.Data;
using System.Data.SqlClient;
namespace WeatherService
{
/// <summary>
/// 管理
/// </summary>
/// public delegate void TimerManage(); public class WeatherManager
{
private System.Timers.Timer timer = new System.Timers.Timer();
private TimerManage timerStart,timerStop;
protected DataTable result = new DataTable(); public WeatherManager()
{
timerStart += new TimerManage(this.Start);
timerStop += new TimerManage(this.Stop);
} /// <summary>
/// 启动定时器
/// </summary>
public TimerManage TimerStarting
{
get { return timerStart; }
} /// <summary>
/// 关闭定时器
/// </summary>
public TimerManage TimerStop
{
get { return timerStop; }
} /// <summary>
/// 启动记时器
/// </summary>
/// <returns></returns>
private void Start()
{
//注解 -- 1000=1秒
timer.Interval = 1000 * 60 ; // - 时间隔
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
timer.Enabled = true;
timer.Start();
} /// <summary>
/// 停止
/// </summary>
/// <returns></returns>
private void Stop()
{
timer.Stop();
timer.Close();
} /// <summary>
/// 在线检测并即时更新数据库
/// </summary>
/// <returns></returns>
protected void timer_Elapsed(object sender,ElapsedEventArgs e)
{
StartScan(); //开始检测
} /// <summary>
/// 开始检测
/// </summary>
/// <param name="start"></param>
/// <param name="end"></param>
private void StartScan()
{
}
}
}
/// <summary>
/// 启动记时器
/// </summary>
/// <returns></returns>
private void Start()
{
//注解 -- 1000=1秒
timer.Interval = 1000 * 60 ; // - 时间隔
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
timer.Enabled = true;
timer.Start(); 在这里加上我要它自动执行的代码呢?
}
没有写过服务,不太懂耶!!详细一点说说吧!
global.ascx文件中也可以使用timer进行这样的操作
/// 开始检测
/// </summary>
/// <param name="start"></param>
/// <param name="end"></param>
private void StartScan()
{
在这里加上执行操作的代码吗?
}