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

C# C Convert.ToDouble输入字符串在Windows服务中的格式不正确,c#,service,double,C#,Service,Double,在过去的几周里,我一直在运行一个控制台应用程序,没有任何问题。 然而,当我将应用程序转换为windows服务时,我发现了一些错误,我使用convert.ToDouble函数将字符串转换为双精度。这里我得到的错误消息是输入字符串的格式不正确 其他帖子主要是指使用区域性信息,如Convert.ToDoublestring、CultureInfo.InvariantCulture 但是我的代码已经运行了好几个星期没有出现任何问题,为什么将相同的代码作为服务运行会有不同呢 提前谢谢 您的服务可能在不同的

在过去的几周里,我一直在运行一个控制台应用程序,没有任何问题。 然而,当我将应用程序转换为windows服务时,我发现了一些错误,我使用convert.ToDouble函数将字符串转换为双精度。这里我得到的错误消息是输入字符串的格式不正确

其他帖子主要是指使用区域性信息,如Convert.ToDoublestring、CultureInfo.InvariantCulture

但是我的代码已经运行了好几个星期没有出现任何问题,为什么将相同的代码作为服务运行会有不同呢


提前谢谢

您的服务可能在不同的用户下运行这是有关具有不同文化背景的windows服务最常见的问题和答案

要快速测试此功能,请将服务设置为随需启动。如果我的理论是正确的,它应该运行正常。不要这样解决问题。相反,请更改回您应该使用的用户,并验证您是否将问题恢复。现在您知道它与用户相关


然后使用InvariantCulture执行interwebs建议的操作,以正确解决问题。

服务可能使用与控制台不同的用户帐户运行,因此可能具有不同的文化