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

时间:2018-12-09 19:37:26

标签: c# service double

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

其他帖子主要指使用区域性信息,例如Convert.ToDouble(string,CultureInfo.InvariantCulture)。

但是我的代码已经运行了好几个星期了,为什么运行与服务相同的代码会有所作为?

谢谢!

1 个答案:

答案 0 :(得分:1)

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

要快速进行测试,请将您的服务设置为以您的身份启动。如果我的理论是正确的,那应该可以。 不要用这种方法解决问题。而是改回您应该使用的用户,并验证是否可以解决问题。现在您知道它与用户有关。

然后使用InvariantCulture进行互连网建议以正确解决问题。