2009-10-06 11 views
0

J'ai une application silverlight sur une page MVC de cet utilisateur peut tirer, quand ils cliquent sauver un événement se déclenche dans les deux MVC et silverlightPrévenir postback en page en cours en Chunking et envoyer des données à un service WCF

Le MVC événement redirige vers une page où le dessin est rechargé afin que l'utilisateur puisse confirmer qu'il a été enregistré correctement (affiché sur une autre application Silverlight)

L'événement d'application silverlight déclenche une routine qui convertit la collection de traits existante en XML simple, et casse vers le bas en 500 morceaux de caractères à envoyer au service WCF qui enregistre les morceaux dans la base de données. De l'autre côté de l'événement MVC, l'application silverlight déclenche un appel au service WCF pour récupérer toutes les chaînes xml segmentées, les importer et les réassembler, puis les reconstruire dans la collection de traits.

maintenant pour le problème. Mon service ne semble pas attraper tous les morceaux qui lui sont envoyés, parfois il ne reçoit que 1-3 des 10 morceaux possibles ou plus, j'ai testé mes routines de fractionnement et de conversion et je garantis qu'ils fonctionnent mais ce que je cherche est un moyen de retarder le tir de l'événement MVC afin que la WCF peut peut-être «rattraper»? ou est-ce même pas le problème

dès maintenant je suis à une perte

gars Merci.

+0

J'ai mis à jour mon service web.config pour ajouter des paramètres basichttpbinding pour définir les délais et les tailles de fichiers max maintenant je reçois juste l'erreur "Le serveur distant a retourné une erreur: NotFound" en essayant de sauvegarder les gros fichiers – Jimmy

Répondre

0

Je résolu ce problème en supprimant la forme de la page et de laisser entièrement la silverlight faire la redirection après l'envoi de tous les morceaux en saisissant le bouton d'envoi du DOM et la fixation d'un événement pour ce

0

J'ai rencontré un problème similaire en téléchargeant des fichiers en tant que blocs de données; Vérifiez si vous utilisez un modèle asynchrone pour communiquer avec le service (comportement par défaut).

Si oui, tous les paquets sont probablement envoyés, mais vous les reconstruisez dans un ordre différent.

+0

ils sont reconstruits correctement ... certains les paquets manquent ou ne sont pas envoyés – Jimmy

+0

Pensez à deux paquets arrivant dans un intervalle de quelques millisecondes; vous devriez pouvoir déboguer le premier paquet mais manquer le suivant. sérialisez-vous vos appels de service Web? –

+0

non je n'ai pas mais j'ai un paramètre de compteur qui est passé à l'appel de service qui commande les paquets – Jimmy

Questions connexes