HttpClient根据请求挂起

时间:2015-12-16 02:11:57

标签: c#

我几天来一直在努力解决这个问题。

C#,通用窗口

我正在尝试访问我家中启用了网络的设备。在查看API时,我应该能够进行以下调用:

{ "id" : "req-1", "url" : "/stable/av/", "method" : "browse" }

事实上,如果我进入提琴手并手动将其发送到设备,我会收到回复。

我正在使用以下代码:

try
{
    using (var httpClient = new HttpClient { BaseAddress = baseAddress })
    {
        var _req = new SendRequest();
        _req.id = "rec-100";
        _req.url = "/stable/av/";
        _req.method = "browse";

        var _json = JsonConvert.SerializeObject(_req);

        using (var content = new StringContent(_json.ToString(),Encoding.UTF8, "application/json"))
        {
            using (var response = await httpClient.PostAsync(baseAddress, content).ConfigureAwait(false))
            {
                responseData = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
            }
        }
    }

    var _Response = JsonConvert.DeserializeObject<Response>(responseData);

    var item = new ZoneInfo();
    item.szIPAddress = szIPAddress;
    item.szZoneName = _Response.result.item.title;
    lstZones.Add(item);

}
catch (Exception ex)
{
    Debug.WriteLine(ex.Message);
}

该应用程序挂起httpClient.PostAsync(...

当fiddler遇到httpClient.PostAsync的行时(...我看到正确形成的请求被发送:(这是从fiddler复制并粘贴的){"id":"rec-100","url":"/stable/av/","method":"browse"}

但后来我收到这样的消息,它们像疯了一样滚动(10 /秒)直到我停止申请。

  

{ “resultId”: “492bfa78-b778-4696-AD7C-c0f6a7733c6f”, “的CustomData”: “{\” 类型\ “:\” SamplePoints \”,\ “开始\”:{\ “H \” :0,\ “L \”:0},\ “端\”:{\ “H \”:5,\ “L \”: - 1002889776},\ “样本\”:436}”, “dwSessionId” : “c533eca5-9ea7-4348-81bd-1920f8ee03da”, “dwRequestId”: “e428bd3c-9d41-479c-993f-325fbfbb4adb”}

这不是我手动发布时获得的数据......

我现在并不关心“挂起”,我更关心的是获取正确的数据。

0 个答案:

没有答案