我尝试在 Windows Phone 7 项目中使用 HttpWebRequest 从 Web 服务器加载数据。
我成功地获取了一次数据。但是当我第二次尝试调用相同的方法来加载时,我得到了异常,我得到了这个消息:“这是当这个线程从当前函数返回 s 时要执行的下一条语句。”
我正在使用来自独立类的 HttpWebRequest 异步调用,并在 Dispatcher 中附加了一个 OnCompleted 事件来更新 Windows Phone 7 的 UI。
enter code here
private void RequestStreamCallBack(IAsyncResult asyncResut)
{
HttpWebRequest hwr = asyncResut.AsyncState as HttpWebRequest;
if (hwr != null)
{
Stream stream = hwr.EndGetRequestStream(asyncResut);//error on this row, InvalidOperationExceptioni
byte[] writeByte = System.Text.Encoding.UTF8.GetBytes(_postData);
stream.Write(writeByte, 0, writeByte.Length);
stream.Close();
allDone.Set();
}
}
每次用户单击按钮时,我是否应该只强制触发一次更新调用?在发送调用 BeginGetRequestStream() 之前,我尝试在我的代码中添加一个“isLoading”标志,但这不起作用,我仍然在回调函数中遇到异常。