2009-11-03 2 views
3

Mon programme télécharge des données depuis un serveur, une fois qu'il a reçu toutes les données, mon programme gère les données (effectue des vérifications comme si ces données sont encore sur le serveur) et les enregistre dans ma base de données.C# comment gérer les interruptions Internet

Maintenant, je me demandais ce qui se passe si ma connexion Internet est soudainement déconnectée, ce qui se passe avec les données que je recevais. Alors j'ai fait un test. Lorsque je casse la connexion Internet, mon programme arrête de récupérer les données et va à ma méthode pour vérifier les données.

Maintenant, ce faux, car il va définir des données déjà dans ma base de données qu'il n'est plus sur le serveur, quand il est effectivement.

Le serveur est accessible par une API (webservices). Donc, ma question est ce qui est un bon moyen de gérer ce genre de situation?

+4

Pourriez-vous poster un message quelconque? Il semble que vous ne gérez pas une exception. –

+0

Ok, j'ai partiellement résolu mon problème en attrapant l'exception web pour l'une des API. l'autre est un api en java que j'essaie de trouver une solution à cette situation en cherchant des méthodes qui peuvent me montrer combien de données je devrais recevoir. – Gerbrand

Répondre

4

Avez-vous essayé d'intercepter un WebException et de le manipuler correctement?

+0

Je ne suis pas attraper cette exception. Je vais essayer ça. – Gerbrand

1

Vous devez trouver un moyen de déterminer si toutes les données ont été transférées. Soit un type de séquence de fin de fichier dans les données ou vous avez une commande qui vous indique combien de données il y a à télécharger avant de commencer à télécharger les données. De cette façon, vous pouvez vérifier si la connexion est interrompue (c'est-à-dire si vous arrêtez de recevoir des données) si vous avez reçu tout ce que vous étiez supposé faire.

+0

Avoir à vérifier la documentation api pour voir si je peux accéder à quelque chose qui me dit combien de données il y a. Mais que se passe-t-il si la connexion s'interrompt lorsque j'essaie d'obtenir cette information? – Gerbrand

+1

Si la connexion est interrompue pendant que vous essayez d'obtenir la taille des données, vous devriez être en mesure d'attraper une exception - un délai d'attente ou une autre erreur pour indiquer que la demande a été supprimée. – TLiebe

Questions connexes