1

JSON データを取得するために Web サーバーに HTTP Post 要求を行う Metro アプリを作成しています。最初に、同じコードを使用して Web サーバーにログオンすると、HTTP Post 要求は正常に返されます。SendAsync() メソッドを呼び出すとコードがハングするという問題に遭遇したのは、後になってからです。

Wireshark を使用してネットワーク トラフィックを表示したところ、サーバーが応答を返していることがわかりました。そのため、通話が完了しない理由がわかりません。誰にもアイデアはありますか?

私が使用しているコードは次のとおりです。

var httpHandler = new HttpClientHandler();
httpHandler.CookieContainer = __CookieJar;
var httpClient = new HttpClient(httpHandler);

UserAgentDetails userAgent = UserAgentDetails.GetInstance();
httpClient.DefaultRequestHeaders.UserAgent.ParseAdd(userAgent.UserAgentString);

foreach (string key in __colHeaders)
    httpClient.DefaultRequestHeaders.Add(key, __colHeaders[key]);

var content = new StringContent(postData);
if (contentType != null && contentType.Length > 0)
    content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue(contentType);

var requestMsg = new HttpRequestMessage(HttpMethod.Post, new Uri(url));
requestMsg.Content = content;
requestMsg.Headers.TransferEncodingChunked = true;
var responseMsg = await httpClient.SendAsync(requestMsg);
// no return from method after logon
4

0 に答える 0