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: 和同事出差,他睡覺在打呼嚕,俺自己誰不着,只有上網來溜達一會。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章