En WCF, quelle est la différence entre un Behavior et un Contract? De l'examen du fichier de configuration, les deux semblent pointer vers l'interface de la fonctionnalité de service. Pourquoi sont-ils tous les deux nécessaires?WCF - différence entre un comportement et un contrat?
Répondre
Notes version de Cole:
Le contrat spécifie ce que le service ne fait. En d'autres termes, quelles opérations sont valides.
Le Endpoint spécifie une réelle instance en cours d'exécution du service. C'est le "service" réel dans le sens où exécute, soit en tant que service Windows ou sous IIS.
Le comportement de service définit la façon dont le point final interagit avec les clients. Des attributs comme la sécurité, la concurrence, la mise en cache, la journalisation, etc. - tout cela fait partie du comportement.
Il y a aussi un Comportement de fonctionnement qui est similaire au comportement de service, mais obtient seulement appliqué lorsqu'une opération est exécuté spécifique.
Pour plus d'informations, je vous suggère de commencer par le WCF Architecture Overview.
Le contrat est l'interface - il définit les opérations de service exposées par le service WCF, qui peuvent correspondre ou non 1: 1 à une interface de code sans fioritures de votre application. Le comportement est une implémentation de cette interface sur l'hôte - à toutes fins utiles, "le service".
Un peu en retard pour une réponse, mais
- que je suis actuellement aux prises avec la différence entre les deux
- et comme cela est l'un des premiers résultats sur Google
- et parce que le courant réponses ne donnent me que aha instant
suivant est en un mot w chapeau a allumé la lumière pour moi (DUCO de à Fred Yang)
ServiceContract
- affecte le comportement du client et du serveur
- peut appliquer à la fois l'interface et la classe
- affecte le WSDL émis
ServiceBehavior
- affecte uniquement le comportement du serveur
- uniquement applicable à une mise en œuvre de la classe
- n'affecte pas le WSDL
De ServiceContract vs ServiceBehavior
Dans WCF , Attribut ServiceContract affecter le comportement du client et du serveur, tandis que ServiceBehavior n'affecte que le comportement du serveur. ServiceContract peut s'appliquer à la fois à l'interface et à la classe, mais ServiceBehavior ne peut s'appliquer qu'à l'implémentation de la classe. ServiceContract affecte le wsdl émis, mais ServiceBehavior n'affectera pas wsdl émis .
Le contrat est un contrat entre le client et le fournisseur de services. Il indique quelles données seront exposées.
Le comportement du service est le comportement du service qui indique comment le service se comportera lorsque le client atteindra le service. Supposons que si plusieurs clients sont en train de cliquer sur le service, qu'ils soient en mesure de gérer ou pas, de gérer plusieurs requêtes, que faire pour gérer plusieurs requêtes. Ces choses sont gérées par le comportement du service.
Comment cette réponse extrêmement tardive peut-elle ajouter valeur ou quelque chose de nouveau à ce qui a déjà été donné? – slugster
- 1. Un contrat de données WCF peut-il contenir un contrat d'opération WCF à l'intérieur? Pourquoi?
- 2. Différence entre un objet et un hachage?
- 3. Différence entre un WebControl et un CompositeControl?
- 4. WCF http & https endpoint un contrat
- 5. Contrat entre Adapter et AdapterView
- 6. Contrat de données WCF
- 7. différence entre un local et local =
- 8. Différence entre une course et un blocage
- 9. Différence entre Pop et Push un ViewController
- 10. Différence entre un tableau d'octets et MemoryStream
- 11. Contrat de streaming WCF
- 12. Différence de comportement regex entre Perl et Python?
- 13. Contrats hérités de contrat WCF
- 14. WCF contrat Attributs
- 15. Différence entre netTcpContextBinding et netTcpBinding
- 16. Quelle est la différence entre un nanokernel et un exokernel?
- 17. Quelle est la différence entre un DataSource et un DataAdapter?
- 18. Différence entre un sous-système et un composant
- 19. Quelle est la différence entre un HashMap et un TreeMap?
- 20. Quelle est la différence entre un analyseur et un scanner?
- 21. Quelle est la différence entre un midlet et un corelet?
- 22. Différence entre un objet blob et un fichier
- 23. Quelle est la différence entre un REPL et un interpréteur?
- 24. Quelle est la différence entre un "nonce" et un "GUID"?
- 25. Différence entre une usine, un fournisseur et un service?
- 26. Quelle est la différence entre un itérateur et un générateur?
- 27. Quelle est la différence entre un assistant et un partiel?
- 28. différence entre system.out et system.err
- 29. Comment définir un contrat de message dans WCF?
- 30. WCF - Quelle est la différence entre Binding.RecieveTimeout et Binding.ReliableSession.InactivityTimeout?
Et aussi pour la différence entre le comportement du point de terminaison et le comportement du service: http://blogs.msdn.com/b/mahjayar/archive/2006/02/27/540033.aspx – Arvand