0

我正在开发一个 Windows Phone 应用程序。网络客户端没有像我预期的那样触发。相关代码如下:

public PArticle(PocketListItem aPli)
    {
        this.pli = aPli;

        using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
        {
            if (!isf.FileExists(aPli.ID + ".json"))
            {
                WebClient client = new WebClient();
                client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(client_DownloadStringCompleted);
                client.DownloadStringAsync(new Uri(pli.Url));
            }
            else
            {
                string json = RetrieveDataFromLocalStorage(aPli.ID + ".json");

                PocketArticle pa = JsonConvert.DeserializeObject<PocketArticle>(json);
                this.text = pa.text;
            }
        }
    }

    void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
    {
        var readability = Readability.Create(e.Result);
        this.text = readability.Content;
    }

我知道这是一个同步/异步问题。但我不知道如何处理它。

提前致谢。

4

1 回答 1

0

我已经使用 2 个不同的 URL http://riktamtech.comhttp://google.com测试了您的代码的 WebClient 部分。在这两种情况下,都会引发 DownloadStringCompleted 事件。我通过放置一个断点来观察它。

所以我建议你用断点再次测试。

于 2012-06-14T09:58:18.493 回答