2009-09-24 6 views
1

J'ai une application WPF et j'utilise le contrôle WebBrowser pour afficher du contenu à partir d'un site Web public.Événements WPF WebBrowser pour les erreurs HTTP?

Parfois dans des cas bizarres lorsque la connectivité réseau est floue, le navigateur Web affichera la page d'erreur «Ce programme ne peut pas afficher la page Web». Y at-il un moyen d'écouter le WebBrowser pour détecter quand cela se produit, afin que je puisse charger un espace réservé?

+1

Une autre solution est disponible ici: [entrer description du lien ici] [1] [1]: http://stackoverflow.com/a/14748621/2381779 –

Répondre

0

Dans les arguments d'événement Navigated, vous pouvez accéder au WebResponse, afin que vous puissiez accéder au code de réponse HTTP.

+0

Mon application appelle uniquement refresh() sur mon contrôle du navigateur et il semble que l'événement Navigated ne se déclenche jamais après la première initialisation. Est-ce que refresh() n'a pas d'événement que je peux écouter? – Jippers

+0

Apparemment pas ... C'est bizarre que Refresh ne se déclenche pas Navigated, ça ressemble à un bug –

+0

J'ai un problème similaire où je n'arrive pas à accéder aux en-têtes HTTP disponibles dans WebResponse. http://stackoverflow.com/questions/1956590/how-to-get-the-response-headers-while-the-user-navigates-from-page-to-page – Trainee4Life

1

Vous pourriez essayer d'utiliser le NavigationService de System.Windows.Controls.Frame comme indiqué dans ce MSDN forum post. Le WebResponse sera toujours null pour le contrôle WebBrowser dans WPF (comme décrit dans le message).

+0

Cela dit comment obtenir WebResponse, mais comment vérifier l'échec du chargement de la page avec la réponse? – jpmc26

+0

J'ai créé un exemple de ceci comme réponse à la question [this] (http://stackoverflow.com/a/29979898/271588). – dave

Questions connexes