0

我们在Windows Phone 7中有一个线程需要同步,我们需要一个一个的发送HTTPWebrequest,直到线程完成,这样下一个线程才能启动。由于 WP7 是异步的,我们需要一个同步的解决方案。输出为 JSON 格式。

4

2 回答 2

0

我尝试了异步/等待。在 Response 被调用之前,它变成了异步的。这是供您参考的代码。

            HttpWebRequest webRequest = (HttpWebRequest)asynchronousResult.AsyncState;
            Stream postStream = webRequest.EndGetRequestStream(asynchronousResult);
            // creating JSON object
            JObject json =
            new JObject(new JProperty(VMConstants.JSON_CONSTANT_LOGINCMD, new JObject(
            new JProperty("employeeId", constant.EMPLID)
            )));
            JsonSerializer serializer = new JsonSerializer();
            serializer.NullValueHandling = NullValueHandling.Ignore;
            using (StreamWriter sw = new StreamWriter(postStream))
            using (JsonWriter writer = new JsonTextWriter(sw))
            {
                json.WriteTo(writer, null);
            }
            webRequest.BeginGetResponse(new AsyncCallback(GetResponseCallback), webRequest);

                    // Start the web reponse
            postStream.Close();
于 2013-01-28T11:29:37.520 回答
0

你不能(也不应该!!!)使这个同步。而是使用队列机制,或者使用新的异步/等待任务模式的代码,这允许您或多或少地编写代码,就好像它是同步的

于 2013-01-27T17:41:57.800 回答