如何解决C#方法DateTime.TryParse在BizTalk与控制台应用程序的同一台计算机上的行为不同
请考虑以下代码行:
DateTime d;
DateTime.TryParse("16-10-2020",out d);
在控制台应用程序中运行时,返回日期时间16-10-2020 00:00:00。使用文化nl-NL,如我的Windows区域设置中所定义。但是,在64位主机实例上的Biztalk 2016管道组件中运行时,2020年10月10日不是有效日期。经检查,似乎使用美国文化来解析日期字符串。我没有在代码中明确指定要使用的区域性,因此希望BizTalk也可以使用nl-NL。
这两种方案都在同一台计算机上的相同.NET Framework版本上运行。是什么解释了行为上的差异?
我在BizTalk服务器配置中找不到任何特定的区域性配置。可能是BizTalk在安装过程中在我不知道的地方存储了区域性信息,但是当区域设置更改时却无法更新?只是猜测。有人吗?
解决方法
BizTalk服务帐户的区域设置与我的用户不同,这解释了行为上的差异。
如果预先知道格式,最好使用TryParse精确。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。