簡體   English   中英

C#HttpClient PostAsJsonAsync->讀取字符串時出錯

[英]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反序列化為字符串,這實際上沒有任何意義。 請使用與響應匹配的類型(即,包含HeaderToken等的自定義數據結構),或者如果您確實想獲取字符串,請使用ReadAsStringAsync()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM