WebClient クラスを使用して、mvc 3 プロジェクトで応答確認メッセージを送信します。メッセージは、プロジェクトの 1 つのアクション メソッドから別のプロジェクトのアクション メソッドに送信されています。驚くべきことに、データを受信すると、日付パラメーターは 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; }
}