J'écris une application utilisant WCF où les clients s'abonnent à un serveur et ensuite les mises à jour sont repoussées aux clients.Les appels sont-ils synchrones dans WCF?
Les abonnés s'abonnent au serveur en utilisant un DuplexPipeChannel appelant une méthode Subscribe() sur le serveur.
Le serveur gère un abonné List <> et lorsqu'il y a des données à transmettre aux abonnés, il appelle une méthode PushData().
Mon intention est de parcourir la liste des abonnés appelant la méthode push sur chacun d'eux à tour de rôle. Ce que je veux savoir est: Est-ce que l'appel de la méthode push sur mon abonné bloque? Un échec de connectivité ou un retard dans la connexion à l'un des abonnés entraînera-t-il un retard du reste des appels Push (ou pire, un échec)?
Je suis désolé si c'est une question évidente, mais j'ai été la plupart du temps une personne .Net 2.0 jusqu'à présent, donc je sais très peu de choses sur WCF. Mon code WCF est basé sur this tutorial.
Une autre question Si l'on suppose qu'il est synchrone, je suis mieux fraie au large un nouveau thread pour traiter les demandes côté client ou serais-je mieux frayer un nouveau thread pour chaque « push Serverside? »
J'ai mis à jour ma réponse pour inclure cette information. +1 –
Je crée le service en code comment puis-je le faire Asynch dans le code? –