Dans notre application, nous utilisons Silverlight côté client. Il télécharge les données du serveur en utilisant WebClient:Bug avec lecture des données en utilisant WebClient
WebClient wcGetDataFundSet = new WebClient();
wcGetDataFundSet.OpenReadCompleted += (s, e2) =>
{
// Do something with the data.
};
wcGetDataFundSet.OpenReadAsync(new Uri(this.uriString));
Quand j'ouvre this.uriString dans le navigateur, résultat correct est affiché. Sur la machine d'un autre développeur tout fonctionne très bien. Sur le délégué de la mine ne tire même pas. Essayé en utilisant "http://google.com/index.html" et d'autres URL. Cela a fonctionné, mais e2.Result a lancé une exception de type 'System.Reflection.TargetInvocationException'. Puis j'ai changé le code pour cela et cela a fonctionné:
WebClient wcGetDataFundSet = new WebClient();
wcGetDataFundSet.DownloadStringCompleted += (s, e2) =>
{
// Do something with the data.
};
wcGetDataFundSet.DownloadStringAsync(new Uri(this.uriString));
Windows XP SP3, Visual Studio 2010 et IE 8 sur chaque machine. Avez-vous des idées où le problème était? Merci d'avance.
Quelle est la InnerException de l'exception TargetInvocationException? – dtb
Btw: N'oubliez pas de disposer du WebClient. – dtb
Peut-être que le WebClient est hors de portée et est collecté avant que le délégué puisse être appelé? – dtb