Existe-t-il un moyen de créer un client asynchrone pour un service WCF synchrone sans ajouter de référence de service? C'est pour un client .NET 4.Comment implémenter un client async wcf pour un service synchrone
Répondre
Une référence de service dans Visual Studio n'est rien d'autre qu'un générateur de code qui crée une classe proxy avec les éléments de données correspondants nécessaires pour appeler votre service Web. Bien sûr, vous pouvez construire un proxy si vous voulez vraiment passer un travail fastidieux et ennuyeux.
Peut-être commencer par décompiler System.ServiceModel.ClientBase à l'aide du réflecteur .net?
faire des recherches sur ChannelFactory: http://msdn.microsoft.com/en-us/library/system.servicemodel.channelfactory.aspx
Même si la mise en œuvre de mon propre client en enroulant une ChannelFactory, je suis encore en utilisant la référence Ajouter un service dans un autre projet pour créer les définitions de classe et de les déplacer dans le vrai projet. C'est un bon compromis.
est ici une simple interface de service async:
[ServiceContract(Name = "IService")]
public interface IServiceAsync
{
[OperationContract(AsyncPattern = true)]
IAsyncResult BeginGetStuff(string someData, AsyncCallback callback, object state);
IEnumerable<Stuff> EndGetStuff(IAsyncResult result);
}
Le contrat .NET pourrait ressembler à ceci:
[ServiceContract]
public interface IService
{
[OperationContract]
IEnumerable<Stuff> GetStuff(string someData);
}
Ensuite, dans le code, en supposant utilisez HTTP, Pas de sécurité et le codage binaire des messages, quelque chose comme ceci (désolé je n'ai pas compilé tout cela, juste tapé en utilisant une partie du code que j'ai écrit pour les projets):
- 1. Comment implémenter un service wcf pouvant héberger d'autres services wcf?
- 2. Comment implémenter SAML 2.0 dans un client WCF?
- 3. Comment créer une API client .NET pour un service WCF
- 4. fermeture client WCF en mode async
- 5. Client WCF asynchrone appelant WCF Service asynchrone
- 6. Comment implémenter un serveur async grpc python?
- 7. séparer un service wcf, serveur et client
- 8. Client WCF appelant un service Web Java
- 9. Implémenter un délai d'attente Async dans Silverlight?
- 10. Comment créer un client WCF avec des opérations asynchrones avec rappel synchrone?
- 11. Comment utiliser RhinoMocks pour tester l'appel de service WCF async
- 12. créer un service wcf pour le client Android
- 13. Problèmes avec le client WCF (pour un service non Net)
- 14. Invocation de service synchrone côté client
- 15. Comment implémenter un client git?
- 16. Communication WCF et client sur un service WCF auto-hébergé
- 17. Comment implémenter async INotifyPropertyChanged
- 18. Comment gérer l'état par client dans un service WCF?
- 19. Comment le paramètre passe client à un RESTful WCF service
- 20. WCF Authentication Service - Comment générer un client avec Apache Axis?
- 21. async wcf service - besoin d'appeler explicitement open()?
- 22. Problème client WCF Service
- 23. Comment générer un proxy client pour un service WCF vers un emplacement particulier?
- 24. Consommez un service wcf avec un client Java
- 25. Comment puis-je implémenter un QueryStringConverter personnalisé pour RESTful WCF?
- 26. Envoyer un jeton ADFS du client vers un service WCF
- 27. WCF est-il utile pour créer un client qui utilise un service Web non-WCF?
- 28. Comment implémenter la segmentation de message dans un service wcf ria pour silverlight 4.0?
- 29. Communications client/serveur (service) pour un service Windows C#
- 30. WCF Async - Comment utiliser ManualResetEvent