2010-08-01 12 views
3

Je cherche un moyen de récupérer une collection de DTOs de mon service de données WCF d'une manière qui me permettra d'être informé chaque fois qu'un DTO entier de la collection a fini de télécharger, aussi je vouloir être capable de le lire bien sûr. Signifie, si je veux obtenir une collection d'utilisateurs, chaque fois qu'un utilisateur de la collection est téléchargé complètement sur le client (sériellement parlant), je veux que le côté client soit averti et soit capable de le lire .objet de données WCF recevoir la progression

Est-ce possible?

Merci!

Éditer: Est-ce que passer un rappel du client au serveur, que le serveur utilisera pour envoyer le client à chaque utilisateur par itération, une direction possible/correcte? Ou bien y a-t-il une meilleure solution?

+0

Très bien, en ajoutant que "Edit" en bas, vous le transformez en une toute nouvelle question ... – Timwi

+0

C'est la même question, je suis à la recherche de directions possibles pour réaliser ce dont j'ai besoin. – Captain

Répondre

0

Vous ne pouvez pas vraiment subdiviser un seul appel facilement, donc vous feriez mieux de faire un ou deux appels simultanés, et obtenir les objets individuellement. En utilisant une sorte de classe de gestionnaire, et un peu de multithreading, vous pourriez avoir un événement déclenché quand un appel était terminé - et mapper cela à un événement «objet téléchargé».

Espérons que ça aide.

+0

Merci Kieren, C'est ce que j'ai fait par la suite. – Captain

1

Vous devrez probablement le diviser en plusieurs demandes pour ce faire. Par exemple, une requête pour récupérer la taille de la collection, puis une requête distincte pour chaque élément de la collection. Ensuite, vous savez quand chaque élément se termine. (Si vous faites cela, vous pouvez même paralléliser le tout.)