C# WebClient下载StringCompleted仅触发一次
我得到了这个密码:C# WebClient下载StringCompleted仅触发一次,c#,silverlight,C#,Silverlight,我得到了这个密码: private void LoadXML() { WebClient myWebClient = new WebClient(); myWebClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(myWebClient_DownloadStringCompleted); myWebClient.DownloadStringAsync(new Uri(strXM
private void LoadXML()
{
WebClient myWebClient = new WebClient();
myWebClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(myWebClient_DownloadStringCompleted);
myWebClient.DownloadStringAsync(new Uri(strXMLPath));
}
private void myWebClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
//Do stuff
}
myWebClient\u DownloadStringCompleted
仅在我第一次调用LoadXML()
时触发。我试图获取的xml文件没有错误,所以我应该期待结果。我遗漏了什么?我设法缩小了问题的范围。我将silverlight对象放在一个asp:updatepanel
中,当我将silverlight对象移到updatepanel之外时,一切开始工作。使用DownloadStringAsync在行上设置一个断点,并注意strXMLPath。然后尝试使用浏览器导航到该路径。确保检查myWebClient_下载字符串中的e.错误已完成。您是如何验证的?在完成的事件中有一个断点吗?@Henk Holterman是的,我在myWebClient中有一个断点_DownloadStringCompleted@Erno我无法检查e.错误,因为代码从未到达那里。路径和内容是有效的,如果我重新加载相同的URL,第二次它不会工作,但第一次总是工作。strXMLPath
不会传递给函数(它应该是这样的)。也许在后续调用中,strXMLPath
的当前值不是您期望的值?