c# windows服务定时程序

publicpartialclassService1:ServiceBase{publicService1(){InitializeComponent();}protec... public partial class Service1 : ServiceBase
{
public Service1()
{
InitializeComponent();

}

protected override void OnStart(string[] args)
{
// TODO: 在此处添加代码以启动服务。
double sleeptime = 1000 * 60 ;//时间间隔为一小时
System.Timers.Timer t = new System.Timers.Timer(sleeptime);//实例化Timer类,设置间隔时间为10000毫秒;
t.Elapsed += new System.Timers.ElapsedEventHandler(recorddataintodatabase);//到达时间的时候执行事件;
t.AutoReset = true;//设置是执行一次(false)还是一直执行(true);
t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件;

}

protected override void OnStop()
{
// TODO: 在此处添加代码以执行停止服务所需的关闭操作。
}
public void recorddataintodatabase(object source, System.Timers.ElapsedEventArgs e)
{
DBAccess db = new DBAccess();
string strsql = "insert into Getinforecord values(5,'2010-1-23 10:06:58','cdfefefe')";
db.ExecuteNonQuery(strsql);
}
我希望间隔一段时间就执行一次写数据库,当然这里的写数据库没有问题,我测试过了,可是一直就没有写进数据库,请问这个服务有什么问题,(我在服务管理器中能看到这个服务)
展开
 我来答
是六千啦89
2010-01-26 · TA获得超过125个赞
知道小有建树答主
回答量:185
采纳率:0%
帮助的人:102万
展开全部
建议不写服务,编写好成“控制台”程序,然后用windows自带的“计划任务”执行程序。

开始--所有程序--附件--系统工具--计划任务

如果一定要写服务,这我以前写的定时服务:

protected override void OnStart(string[] args)
{
// TODO: 在此处添加代码以启动服务。
this.timerToPDF.Enabled = true;
}

protected override void OnStop()
{
// TODO: 在此处添加代码以执行停止服务所需的关闭操作。
this.timerToPDF.Enabled = false;
}

protected override void OnContinue()
{
// TODO: 服务继续
this.timerToPDF.Enabled = true;
}

protected override void OnPause()
{
// TOD: 服务暂停
this.timerToPDF.Enabled = false;
}

private void timerToPDF_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
if (DateTime.Now.Hour > 8)
{
this.timerToPDF.Enabled = false;
//编写自己的代码
this.timerToPDF.Enabled = true;
}
}
lackyhuang
2010-01-24 · TA获得超过633个赞
知道小有建树答主
回答量:813
采纳率:0%
帮助的人:865万
展开全部
其一:权限。。
如果是写入远程计算机的数据需要以netservice启动服务,默认的system无权限。
其二:1000 * 60 为1分,非一小时

其三:建议写成while(true)内执行线程
执行一次Thead.sleep(59分钟)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
careff
2010-01-26 · 超过10用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:30.3万
展开全部
是不是数据库没有写进去呢?你看看这个地方吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zyongs2000
2010-01-24
知道答主
回答量:4
采纳率:0%
帮助的人:6244
展开全部
iis进程容易死
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式