首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C# windows服务程序解决方法

2012-06-05 
C# windows服务程序我加了个System.Timers.timer控件,我在属性中设置了timer1.Interval 为 60000timer1.E

C# windows服务程序
我加了个System.Timers.timer控件,
我在属性中设置了
timer1.Interval 为 60000;
timer1.Enabled 为true;
private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
  if(条件)
  {
  dosth();
  }
}
为什么在服务启动后能够执行 dosth()一次后,就不再执行了,然后再查看服务时服务停止了,这是为什么
我在winform里测试过,是可以多次执行的

[解决办法]
你查看一下你的服务可能出错了 有些WINform里面才能操作的 建议加上日志功能
[解决办法]
你尝试下载 onstart 下加入 timer.start
你的dosth()是不是有一些冲突型语句,如创建文件,我曾遇到过这中情况, 服务会提示 服务没有什么可做或。。。。 提示 然后 服务就停止了。
说的不好 希望能给你些提示。。
[解决办法]
可能dosth()里面存在异常,程序退出了。加个try catch 把你的dosth() 包在里面在看看。
[解决办法]
估计是dosth里面引发了异常,

写服务程序要有抓异常的习惯,不过系统日志里应该记录有异常退出,你可以查一下系统日志,不过最好自己抓,

private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
try
{
if(条件)
{
dosth();
}
}
catch(Exception e)
{
//写代码把e写入日志文件,
}
}

[解决办法]
应该是出错了,看看系统日志
[解决办法]
dosth()里面阻塞了,看你这个函数里面调用了其他什么没有
我以前也碰到过这样的问题
[解决办法]
控制版面里面--》管理工具--》查看事件
[解决办法]
dosth();异常了。 直接导致服务器程序停止。
[解决办法]
调试吧。 单步调试
[解决办法]
创建委派

热点排行