【问题标题】:C# Convert.ToDouble Input string was not in a correct format in Windows serviceC# Convert.ToDouble 输入字符串在 Windows 服务中的格式不正确
【发布时间】:2019-05-10 18:42:53
【问题描述】:

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

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

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

提前致谢!

【问题讨论】:

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

标签: c# service double


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-12
    • 1970-01-01
    • 2021-11-24
    • 2016-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多