C# RestSharp连接到WebApi-日期时区问题
在以下通信之间,对象中的Datetime属性存在问题:C# RestSharp连接到WebApi-日期时区问题,c#,asp.net-web-api,asp.net-web-api2,restsharp,C#,Asp.net Web Api,Asp.net Web Api2,Restsharp,在以下通信之间,对象中的Datetime属性存在问题: 站点#1使用RestSharp 和使用WebApi的站点#2 第1版 场地#1 结果: 现场#1我发送2018年1月1日凌晨12:00 现场#2我收到2018年1月1日凌晨12:00 当站点#1请求对象时,我现在收到:2017年12月31日晚上11:00 第2版 我尝试在站点1上使用不同的发送方式 结果: 现场#1我发送2018年1月1日凌晨12:00 现场#2我收到2017年12月31日晚上11:00 但如果我更正站点2数据库中
- 站点#1使用RestSharp
- 和使用WebApi的站点#2
- 现场#1我发送2018年1月1日凌晨12:00
- 现场#2我收到2018年1月1日凌晨12:00
- 当站点#1请求对象时,我现在收到:2017年12月31日晚上11:00
- 现场#1我发送2018年1月1日凌晨12:00
- 现场#2我收到2017年12月31日晚上11:00
- 但如果我更正站点2数据库中的值,那么该值将正确地从站点2发送回站点1(基本上与版本1相反)
我甚至在同一台机器、同一文化、同一时区中进行此测试,但我当然希望找到一个在不同时区的机器中工作的解决方案。使用版本1:我能够在站点1上解决此问题 在接收部分:
/************************************************/
// TRY #1 - OLD
//var tempData = client.Execute<T>(request).Data;
/************************************************/
// TRY #2 - NEW
var response = client.Execute(request);
var tempData = JsonConvert.DeserializeObject<T>(response.Content);
/************************************************/
/************************************************/
//试试#1岁
//var tempData=client.Execute(request.Data);
/************************************************/
//试试#2-新的
var response=client.Execute(请求);
var tempData=JsonConvert.DeserializeObject(response.Content);
/************************************************/
现在,我发送/保存/获取相同的日期时间。您需要共享将数据保存到site2数据库的代码。另外,请告诉我们您是如何在site1上填充
模型的
?site1和site2上的序列化程序设置是否相同(时区处理)。另外,您是否可以检查site1上序列化后日期的实际值?
GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings =
new JsonSerializerSettings
{
DateFormatHandling = DateFormatHandling.IsoDateFormat,
DateTimeZoneHandling = DateTimeZoneHandling.Utc,
};
request.AddJsonBody(model);
/************************************************/
// TRY #1 - OLD
//var tempData = client.Execute<T>(request).Data;
/************************************************/
// TRY #2 - NEW
var response = client.Execute(request);
var tempData = JsonConvert.DeserializeObject<T>(response.Content);
/************************************************/