我们在Windows Phone 7中有一个线程需要同步,我们需要一个一个的发送HTTPWebrequest,直到线程完成,这样下一个线程才能启动。由于 WP7 是异步的,我们需要一个同步的解决方案。输出为 JSON 格式。
问问题
234 次
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 回答