关于循环自动结束问题

阿鹏兄 2007-01-10 05:33:44
我用C#写的一个服务通过Timer控件没一个小时触发下面的一个循环
foreach (DataTable table in ds_xml.Tables)
{
.../*记录调试日志*/
}
结果根据调试信息发现这个循环运行了一半就不运行了,且没有异常,且下一个小时也无法触发Timer事件,只有重启服务才行?

为什么?
...全文
312 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿鹏兄 2007-03-29
  • 打赏
  • 举报
回复
foreach 到底应该怎么用?
liujia_0421 2007-01-12
  • 打赏
  • 举报
回复
TO:请问:代码能不能这么写:

可以..

不过,像这样情况,最好不要直接给出提示,建议写日志..
阿鹏兄 2007-01-12
  • 打赏
  • 举报
回复
请问:代码能不能这么写:
for(i=1;i<4;i++)
{
try
{...}
catch(Exception e)
{
//给出提示
continue;//继续下一条
}
}
liujia_0421 2007-01-11
  • 打赏
  • 举报
回复
什么服务?

Windowservice?

把代码贴出来看下..
sunyou 2007-01-11
  • 打赏
  • 举报
回复
系统服务不支持窗口操作,所以不要使用System.Windows.Forms.Timer,此计时器最宜用于 Windows 窗体应用程序中,并且必须在窗口中使用。而服务本身运行在无窗口环境,所以要用System.Timers.Timer
liujia_0421 2007-01-11
  • 打赏
  • 举报
回复
同意楼上的,如果是WindowsSevice,用Timer时注间用System.Timers.Timer
ACA 2007-01-11
  • 打赏
  • 举报
回复
有异常的缘故
lizhizhe2000 2007-01-11
  • 打赏
  • 举报
回复
让程序多输出 一些调试信息来,然后才能准确确定错误的所在!
mabaolin 2007-01-11
  • 打赏
  • 举报
回复
搜索一下log4net,用于调试信息输出不错的
HSB19820706 2007-01-11
  • 打赏
  • 举报
回复
你是用system.timers.timer还是工具里的timer,windowsserviece要用system.timers.timer
阿鹏兄 2007-01-11
  • 打赏
  • 举报
回复
我用的system.timers.timer
阿鹏兄 2007-01-11
  • 打赏
  • 举报
回复
有try和catch,但是没有捕捉到异常,也没有什么break语句
v41dugu 2007-01-10
  • 打赏
  • 举报
回复
这要看具体代码了。。
xjjdanran 2007-01-10
  • 打赏
  • 举报
回复
是否循环没有自动结束?
江城老温 2007-01-10
  • 打赏
  • 举报
回复
是否用到了多线程?可能在别处跳出了程序。不容易调试。仔细想想程序流程,哪有隐患。多做做异常处理的工作。
burn3tt 2007-01-10
  • 打赏
  • 举报
回复
用try catch捕捉一下信息,不行就取迭代器做
JavaK 2007-01-10
  • 打赏
  • 举报
回复
应该是代码有问题吧,你用Console.WriteLine(i.ToString())在你的每一次Loop中,看看是在哪一个Loop中有问题,第二次你再运行到这个Loop时再查看里面的变量是否都是你所预期的那样!
vengair 2007-01-10
  • 打赏
  • 举报
回复
try catch 试一下
重得找出它为什么停下来
里面有没有break之类的语句
朝圆夜不圆 2007-01-10
  • 打赏
  • 举报
回复
循环内的代码有问题吧

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧