首页 文章

C#Convert.ToDouble输入字符串在Windows服务中的格式不正确

提问于
浏览
0

过去几周我一直在运行一个控制台应用程序而没有任何问题 . 但是,只要我将应用程序转换为Windows服务,我就会遇到错误,我使用Convert.ToDouble()函数将字符串转换为双精度数 . 在这里,我收到错误消息“输入字符串格式不正确” .

其他帖子主要是指使用文化信息,如Convert.ToDouble(string,CultureInfo.InvariantCulture) .

但是我的代码已运行数周而没有任何问题,为什么运行相同的代码作为服务有所作为?

提前致谢!

1 回答

  • 1

    您的服务可能在不同的用户下运行(这是具有不同文化的最常见问题(以及关于Windows服务的答案) .

    要快速测试 - 将您的服务设置为以您身份启动 . 如果我的理论是正确的,它应该运行正常 . 不要这样解决问题 . 而是更改回您应该使用的用户并验证您是否得到了问题 . 现在你知道它与用户有关 .

    然后按照InvariantCulture提出的互联网建议来正确解决问题 .

相关问题