c# 当前线程处于堆栈溢出状态,因此无法计算表达式的值。

[复制链接]
查看11 | 回复2 | 2010-12-23 13:37:32 | 显示全部楼层 |阅读模式
我要做个每X秒操作一次数据库的程序,所以肯定是要用到死循环的
这个线程执行一个操作数据库的函数,函数最后休眠X秒,然后调用自己,这样就会报错“当前线程处于堆栈溢出状态,因此无法计算表达式的值。”
已经在函数中用到GC.Collect();,还是不行
求个解决办法
报错大概是在程序运行2小时后出现

回复

使用道具 举报

千问 | 2010-12-23 13:37:32 | 显示全部楼层
你在属性里返回属性自身,那肯定造成无限循环了然后堆栈溢出...private string name;public string Name{get }
回复

使用道具 举报

千问 | 2010-12-23 13:37:32 | 显示全部楼层
你既然死循环了为什么还要调用自己,这样无限制的递归下去肯定要溢出的。你把操作的逻辑写在另一个方法里面,在你的循环调用另一个方法而不是自己
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行