BizTalk 2010:DateTime问题

时间:2011-05-16 16:19:41

标签: biztalk biztalk-2010

BizTalk Server 2010具有以下系统配置

Server: Windows Server 2008
FrameWork: .Net 4.0

当BizTalk收到DateTime组合时通过HTTP,它的转换如下。

DateTime Sent: **2010-06-01T00:00:00-04:00**
DateTime Received and logged: **2010-06-01T00:00:00-04:00** (BizTalk 2010)

在BizTalk 2004(我们的旧集成环境,使用.Net Framework 1.1)中,BizTalk正在以下列格式接收和记录消息。

DateTime Sent: 2010-06-01T00:00:00-04:00
DateTime Received and Logged: 2010-06-01T00:00:00.0000000-04:00

可以看出,前导零被添加到DateTime。以下是一些对我来说神秘的组合。

Datetime Sent to BizTalk 2004: 2011-03-01T00:00:00-05:00
DateTime received and Logged: 2010-06-01T00:00:00.0000000-04:00

模式在两个环境中都定义为xsd:dateTime。我无法找到解释为什么BizTalk或框架在这两种环境中表现不同的事实。

注意:在任何环境中都不会发生日期转换。

在BizTalk 2010中,我可以看到TimeZone(-4:00)丢失了。

想知道我们是否需要为此DateTime问题修复任何设置。

2 个答案:

答案 0 :(得分:0)

您需要更改服务器(或组中的服务器)上的时区。 BizTalk主机实例使用计算机中的时区和区域设置。

不要从应用程序代码中以编程方式设置时区,因为进程和线程可以在多个实例之间共享,并且您将遇到非常棘手的问题。

答案 1 :(得分:0)

检查注册表中服务器的时区设置是什么 您可以在HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ TimeZoneInformation中找到密钥

但是,请确保在进行任何更改之前先备份注册表。