我正在开发一个Windows Phone应用程序。 webclient没有像我预期的那样开火。相关代码如下:
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;
}
我知道这是同步/异步问题。但我不知道如何处理它。
提前致谢。
答案 0 :(得分:0)
我使用2个不同的网址http://riktamtech.com和http://google.com测试了代码的WebClient部分。在这两种情况下,都会引发DownloadStringCompleted事件。我通过设置一个断点来观察它。
所以我建议你再用断点进行测试。