Web Service 调用日期出现偏差的原因

最近使用.net 的Web Service实现了一些代码,但是在客户机器上面执行的过程中,发现系统提交的日期总是

比真是的日期少了12个小时,在开发环境中测试没有任何问题。

例如:北京时间2007年4月28日9点35分,写入到数据库之后,则变成了2007年4月27日21点35分。
首先,联想到使用Delphi连接Web Service曾经产生的类似问题,是不是Web Service协议调用的时候,需要特

别的指出时间和GMT时间的差距呢?本身这个问题在以前的调用中就没有发生过,所以可能性几乎没有。那会不

会是Web.config的配置改变了系统的默认参数呢?查看Web Service的Web.config文件,发现Request和

Response的编码都是utf-8,这个也不存在问题,和我们自己的开发欢迎是一致的。

会不会是客户的那台机器出现了问题呢?比如说他自己机器的时间配置出现了问题?查看了客户机的设置,没

有发现什么异常,都是Windows默认的设置值。找了另外一台服务器来测试,配置也是默认值,写入进去的数据

也是错误的。这样就可以认为是服务器的设置问题了。

打开服务器的时间设置,看到的时间看上去是正常的,打开“时区”选项卡,发现使用的是GMT-5,美国东部时

间,哈哈,问题就在这里,修改为GMT+8,再看一下Windows任务栏的时间,变成了和现在相差12个小时的凌晨4

点,重新修改为正确的时间,问题解决。

看来很多事情都是有解决简单办法,另外一个方面,服务器的管理非常重要,平时我们自己使用的PC机时间错

了也无所谓,但是这个服务器里面存储了数据,数据将会发生错误。


PS: 和同事出差,他睡觉在打呼噜,俺自己谁不着,只有上网来溜达一会。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章