C# - JObject修改了post请求有效负载中的时间戳

时间:2016-09-13 08:49:44

标签: c# asp.net-web-api timestamp

我有这个Web Api控制器:

 [Route("api/v1/GitHubEvents/{Id}/")]
    [HttpPost]
    public async Task<HttpResponseMessage> PostGitHubEvent([FromBody]JObject value, long id)
    { ...
      gitHubEventAuthenticator.ValidateSignature(...);
    }

当Post请求来自本地时间与控制器时区不同的机器时,由于原始请求的时间戳与JObject序列化后的时间戳(或IIS / Web中的任何其他内容)不匹配,签名验证失败Api环境)。

您能否建议保留原始时间戳而不通过JObject / Environment进行修改?

1 个答案:

答案 0 :(得分:0)

您可以尝试设置DateFormatHandler

JsonSerializerSettings microsoftDateFormatSettings = new JsonSerializerSettings
{
    DateFormatHandling = DateFormatHandling.Unspecified
};