首页 新闻 会员 周边 捐助

c# windows服务的一点问题

0
悬赏园豆:120 [已解决问题] 解决于 2017-12-04 17:24

我对接了个接口,更新自己数据库的积分。

为什么我的程序在控制台可以运行完毕并且更新完毕,但写成windows服务就会报错呢? 我在日志里面看到“未将对象引用设置到对象的实例”。在控制台就可以运行完的呀,也调试过没有问题,复制到windows服务就不行了,就其中的一个方法有时会出错。 

具体报错在 执行存储过程的时候报错,但存储过程执行成功了,因为数据库有影响了,但后面的方法就不继续执行了。

KyrieLee的主页 KyrieLee | 初学一级 | 园豆:18
提问于:2017-12-03 00:13
< >
分享
最佳答案
0

把堆栈信息记下来,不要动不动自己写日志,学着用成熟可靠的模块,人类的进步就是工具的进步,有很好的工具就要去用,比如log4net;你在外层捕获一下异常,扔给日志,这样就有了堆栈信息,有了堆栈信息就很容易定位代码位置,然后你就更容易分析找到问题了。

收获园豆:55
花飘水流兮 | 专家六级 |园豆:13617 | 2017-12-03 19:16

我调试了,我上面的回复有了新图片,参数也没错,在控制台可以执行完,在windows服务就不行了,真的头疼...

KyrieLee | 园豆:18 (初学一级) | 2017-12-04 14:10
其他回答(3)
0

看看DBAccess.ExecuteCheck(sql)方法中, 是不是获取不到数据库的配置信息了。 记录 ex.ToString()应该会有更详细的信息,包括行号。

收获园豆:5
乁卬杨 | 园豆:387 (菜鸟二级) | 2017-12-03 08:32

我抛出了sql语句 都没问题的...

支持(0) 反对(0) KyrieLee | 园豆:18 (初学一级) | 2017-12-04 10:28
0

在本机安装下你的服务。然后附加到进程调试,进程选择此服务。调试,跟踪一下。

收获园豆:60
大楚打码人 | 园豆:4313 (老鸟四级) | 2017-12-03 10:04

  执行到这里的时候,按F11下一步出错,我的参数都没有错的呀... 

支持(0) 反对(0) KyrieLee | 园豆:18 (初学一级) | 2017-12-04 14:08

@如梦如烟: 提示什么错误?

支持(0) 反对(0) 大楚打码人 | 园豆:4313 (老鸟四级) | 2017-12-04 15:10
1

解决了,就是在DB类的cmd.ExecuteScalar(); 这里 ,不需要toString和return !!!   真的无语...

KyrieLee | 园豆:18 (初学一级) | 2017-12-04 17:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册