【发布时间】:2013-05-08 12:12:19
【问题描述】:
我有一个非常简单的问题我无法解决。
我有一个这样定义的 Action 方法:
[HttpPut]
public ActionResult Register(ClientRegistrationInformation clientInformation)
{ ... }
ClientRegistrationInformation 在 F# 中的定义如下:
type ClientRegistrationInformation () =
member val ClientKey = Guid.Empty with get, set
member val ValidationToken = String.Empty with get, set
我想使用 System.Net.Http.HttpClient 调用此操作方法。当我尝试这个时:
httpClient.PutAsJsonAsync (RegisterUrl, clientInformation)
JSON 内容是这样发送的,这是行不通的:
"{\"ClientKey@\":\"8cb33ed5-ef49-4c40-afbe-78f0c198448e\",\"ValidationToken@\":\"token\"}"
当我尝试使用 jQuery.ajax 时,内容是这样发送的,这确实有效:
"{\"ClientKey\":\"8cb33ed5-ef49-4c40-afbe-78f0c198448e\",\"ValidationToken\":\"token\"}"
为什么 HttpClient 在名称末尾添加了不必要的 @ 符号? 我该如何摆脱它们?
谢谢。
【问题讨论】:
标签: asp.net-mvc json httpclient