我使用 WebClient 类在 mvc 3 项目中发送响应确认消息。消息从一个项目的一个操作方法发送到另一个项目的操作方法。令人惊讶的是,日期参数是 3 小时后,在接收数据时。
例如,如果我的发送日期正在接收数据是“2012-08-14 13:42:50Z”,我会在另一边看到“2012-08-14 16:42:50Z”。这是我案例的简化代码示例;
NameValueCollection ack = new NameValueCollection();
ack.Add("RESID", form.RESPONSE.ID.ToString());
ack.Add("A_DateTime", DateTime.Now.ToString("u")); //2012-08-14 13:42:50Z
using (var client = new WebClient())
{
client.Encoding = System.Text.Encoding.UTF8;
var result = client.UploadValues("http://localhost:11578/HPM/ResponseAck", ack);
}
//HPM Controller:
ResponseAck(HttpPostResponseAckMessage response)
{
//Here response.Date vale is 2012-08-14 16:42:50Z ???
}
在我看来,它是关于偷偷摸摸的小连载怪物因为某些文化特定问题而改变它的原因。但我不知道真正的原因所以解决方案。
编辑:
public class HttpPostResponseAckMessage
{
public int RESID { get; set; }
public DateTime A_DateTime { get; set; }
}