我有一个非常简单的问题,我无法解决。
我有一个这样定义的 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 在名称末尾添加不必要的 @ 符号?我该如何摆脱它们?
谢谢。