Quelles sont les différentes méthodes d'hébergement d'un service WCF?Quelles sont les différentes méthodes d'hébergement d'un service WCF?
Répondre
Il existe quatre manières courantes, qui sont toutes décrites joliment sur MSDN: Hosting WCF Services.
- Hosting in IIS.
- Hosting in WAS.
- Hosting in a Windows service.
- Hosting in an application (alias "auto-hébergement").
Vous pouvez l'héberger dans une application IIS ou dans votre propre exécutable. Généralement, l'exécutable serait une application de service Windows.
Je ne dirais pas nécessairement que le cas «typique» pour l'hébergement d'un service WCF dans un exécutable est via un service Windows. Les services WCF fournissent une alternative à .NET Remoting pour la communication à travers les limites AppDomain. En tant que tel, WCF est tout aussi susceptible d'être utilisé dans une application Windows Forms que c'est un service Windows. –
Alors que vous pourriez certainement héberger un service WCF dans une application WinForms, je ne suis pas sûr que de nombreuses applications le feraient. Je pense que les applications WinForms seraient très probablement un consommateur WCF et pas nécessairement un hôte. Mais alors peut-être que je suis à courte vue et ne pas envisager une classe de casses d'utilisation que vous avez en tête. –
A titre d'exemple, si une application est extensible via des plug-ins, il est logique de charger ces plug-ins dans leur propre AppDomain. Une fois cela fait, l'application est maintenant confrontée à la question de combler le fossé AppDomain à des fins de communication, un problème que WCF résout facilement (tout comme .NET Remoting et héritant de MarshalByRefObject). Je pense que dans de nombreux cas, votre affirmation est correcte; Je ne sais pas si je vais aussi loin que de dire que c'est «typique». Désolé de chipoter. :) –
Tout processus Windows peut être utilisé pour hôte un service WCF. Il n'y a pratiquement aucune restriction à cet égard - un processus peut héberger plusieurs services WCF et le même type de service WCF peut être hébergé simultanément sur plusieurs processus.
du livre de Juval LowyProgramming WCF Services, l'hébergement peut être fourni par
- Microsoft Internet Information Server (IIS)
- auto-hébergement dans une application Windows Forms, service Windows, ou une application console
- Service d'activation Windows (WAS)
Pour l'instant, tout ce qui a été dit est correct.
- Hébergement dans les protocoles que HTTP support IIS6 et "à la demande" activation
- Hébergement dans IIS7/WAS (uniquement sur Vista/Server 2008 et plus) prend en charge tous les protocoles et "à la demande" activation
- L'auto-hébergement dans une application console ou un service Windows prend en charge tous les protocoles, mais ne prend pas en charge l'activation à la demande (par exemple, votre service doit toujours être opérationnel)
Ce qui n'a pas été mentionné est ce que le. NET 4.0 vague plus tard ce year (2009) offrira - il y a un nouveau composant de serveur additionnel appelé Dublin qui est censé offrir un environnement d'hébergement riche et managé à la fois pour les services WCF et les flux de travail WF.
Marc
- 1. Service WCF, comment masquer les méthodes internes?
- 2. Quelles sont les limites internes à WCF?
- 3. Partager le contrat WCF entre le service et Silverlight. Les versions ServiceModel sont différentes
- 4. Service WCF Nombre maximal de méthodes
- 5. Usurper l'identité des utilisateurs pour accéder aux ruches - différentes méthodes, quels sont les problèmes pratiques?
- 6. Sécurité WCF: les informations d'identification incorrectes sont passées au service
- 7. Quelles méthodes sont appelées lorsque vous redimensionnez un JFrame?
- 8. Quelles sont les modifications empilables?
- 9. Passage des objets de rappel aux méthodes de service WCF
- 10. Quelles sont les différences entre XSLT et les méthodes de génération de code T4?
- 11. Quelles sont les étapes à suivre pour configurer SSL pour qu'il fonctionne avec WCF sur Azure?
- 12. Quelles sont vos ressources préférées concernant RESTful WCF?
- 13. Quelles sont les différentes options de traitement des fichiers PDF téléchargés dans une application Django?
- 14. Quelles sont les différentes options et leurs compromis pour stocker un UUID dans une table MYSQL?
- 15. Quelles sont les différentes valeurs possibles de __name__ dans un script Python, et que signifient-elles?
- 16. Quelles sont les différentes possibilités d'utilisation de MySql dans une application de bureau
- 17. Quelles sont les étapes à suivre pour utiliser les rappels WCF?
- 18. Comment cacher un service WCF du public?
- 19. Pourquoi les méthodes de récupération de place Java et Python sont-elles différentes?
- 20. WCF Web Service Bloat
- 21. Quels sont les avantages des différentes endiannesses?
- 22. Les polices carbone/cacao sont différentes
- 23. Quelles sont les bonnes ressources pour développer des schémas de service Web RESTful?
- 24. Service WCF RESTful sur Service WCF standard
- 25. Quelles sont les méthodes efficaces pour déployer une application Django sur le bureau?
- 26. Quelles sont les méthodes pour vérifier l'entrée de l'utilisateur et empêcher l'injection mysql?
- 27. Quelles sont les méthodes de gestion de la pagination des longues listes?
- 28. Quelles sont les bonnes ressources pour comprendre les MIB SNMP?
- 29. gridview modifiable - quelles sont les bases?
- 30. Quelles sont les alternatives pour CSharpOptParse?
L'hébergement dans un service Windows et l'hébergement dans une application est essentiellement la même chose, car un service Windows est juste une autre application. –
Bien sûr, mais ils ont suffisamment de considérations différentes pour être explicitement appelées séparément dans MSDN. Vraiment, ma réponse est arrangée exactement comme MSDN l'énonce. :) – bobbymcr
noter qu'une application peut également être une application de formulaires –