2010-09-28 7 views
0

J'ai créé un service wcf utilisé par une application Silverlight. Nous utilisons le service pour obtenir des données géographiques retour:Service d'expiration du service WCF de Silverlight (même lors du passage d'un élément)

  1. Un point (composé d'un X et Y Double)
  2. Une forme représentée comme une liste>

Notre seule méthode de service retourne une collection de "Items" qui contient une propriété "Object ItemData". Selon les données que nous recevons de la base de données, la propriété ItemData est définie comme un point ou une liste>

Pour une raison quelconque, nous sommes en mesure d'obtenir un objet ponctuel chaque fois que j'essaie de passer la liste> les heures de service en dehors. Nous avons maximisé les tampons dans la configuration qui n'a rien arrangé. J'ai changé le service pour retourner seulement un article dans la liste> et il jette toujours l'erreur. Je suis allé aussi loin que la conversion de la liste pour utiliser des tableaux à la place, mais sans chance.

Des idées sur ce qui pourrait se passer? Je ne reçois aucune exception que je peux voir dans le service WCF. Fiddler n'a pas beaucoup aidé non plus: - \

Répondre

0

La solution s'est révélée être simple. A dû spécifier d'autres types connus dans le contrat de service. J'ai fini par résoudre cela après que mon manager nous a suggéré de transmettre notre valeur de retour via le DataContractSerializor à la main. PITA bug à trouver mais j'espère que cela aide quelqu'un.

0

avez-vous changé la propriété sendTimout du service WCF?

pouvez-vous déboguer le service? peut-être que ça échoue. vous pouvez modifier le comportement du service à includeExceptionDetalInFaults.

Vous pouvez créer un programme shell à exécuter sur le serveur pour exécuter le cas d'utilisation de la liste d'accès et voir s'il se termine avec succès.

Qu'est-ce que vous obtenez de Fiddler? ça retourne quelque chose?

+0

Je peux déboguer le service. Il s'exécute bien et j'arrive à la déclaration de retour. J'ai ajouté un essai d'attraper autour du corps et aucune exception n'est attrapée avant le retour de sorte qu'il semblerait que les choses sont en ordre là. Tout ce que je peux voir dans fiddler est l'appel de demande de service de Silverlight sans réponse. –

+0

essayez de renvoyer le contrat comme la première valeur de la liste (un type de valeur réelle, comme un int ou un double). Peut-être que WCF n'aime pas votre type de retour? –

+0

votre solution est ce que je faisais allusion à en changeant le type de retour, FYI –

Questions connexes