[英]C# HttpClient.PostAsJsonAsync Failing with Internal Server Error
[英]C# HttpClient PostAsJsonAsync -> Error reading string
嗨,我嘗試通過服務器端通過以下方式調用Web API:
using (var client = new HttpClient())
{
using (var rsp = client.PostAsJsonAsync<Request>(url, model).Result)
{
if (!rsp.IsSuccessStatusCode)
{
// throw an appropriate exception
}
var result = rsp.Content.ReadAsAsync<string>().Result;
}
}
但是我得到了錯誤
讀取字符串時出錯。 意外的令牌:StartObject。 路徑'',第1行,位置1。
如果我嘗試從jQuery調用相同的網址
$.post('http://localhost/api/Test')
服務器返回
HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json
Expires: -1
Server: Microsoft-IIS/8.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Sun, 25 Oct 2015 12:15:56 GMT
Content-Length: 104
{
"Header": {
"Token": "Response",
"Timestamp": "2015-10-25T14:15:56.0092197+02:00"
}
}
“模型”到達api控制器,但我無法從請求獲得響應。
ReadAsAsync<T>
嘗試反序列化對類型T的響應。在這種情況下,您要說的是要將JSON反序列化為字符串,這實際上沒有任何意義。 請使用與響應匹配的類型(即,包含Header
, Token
等的自定義數據結構),或者如果您確實想獲取字符串,請使用ReadAsStringAsync()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.