xaml页面没有';t等待HttpWebResponse

本文关键字:等待 HttpWebResponse xaml | 更新日期: 2023-09-27 18:27:42

在我的Windows Phone 7应用程序中,我从web服务获取数据。

所以在我的应用程序启动时,我会检查我的数据是否设置在本地存储中,如果不是(第一次运行),我会通过HttpWebRequest发出请求并等待响应。

SetupAppData(); //chack in local storage
if (CheckNetworkConnection(false))
    if (appData == null)
        GetAppData();
...
    public void GetAppData()
    {
        HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("some url");
        request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";
        request.BeginGetRequestStream(RequestData_Completed, request);
    }
...

RequestData_Completed中,我设置请求数据并调用request.BeginGetResponse(ResponseData_Completed, request);然后,当我的响应返回到应用程序时,我将其更改为我的对象并在应用程序中使用。

但我的问题是,在响应返回之前,我在xaml视图中使用了这些数据。我不知道如何表达我的观点来等待回应。

我试图创建一些boolisDataSetted,当我的响应返回时将其设置为true,并在while循环中检查其值,但它阻止了应用程序,并且从未处理过响应。

这个问题有什么解决办法吗?

xaml页面没有';t等待HttpWebResponse

只需让RequestData_Completed在数据处理后激发一个事件,并在事件发生时让UI做出响应。