2008-11-04 15 views
5

Lors de l'hébergement d'un service WCF sur IIS, vous avez la possibilité de configurer manuellement le point de terminaison ou de manière déclarative au moyen de WebServiceHostFactory. Il ne semble pas être si difficile de créer manuellement le point final, alors j'ai pensé que je demanderais.Utilisation de WebServiceHostFactory Avantages et inconvénients

  • Quels sont les avantages d'utiliser WebServiceHostFactory?
  • La création dynamique des points de terminaison a-t-elle des implications en termes de performances?

Répondre

3

Pouvez-vous préciser: demandez-vous précisément sur Web ServiceHostFactory (emph: "Web")? Ou juste la différence entre IIS l'hébergeant et démarrer votre propre serveur par le code? WebServiceHostFactory est nouveau dans .NET 3.5 et prend en charge certaines des nouveautés AJAX/JSON.

En fait, dans IIS (en utilisant .svc), vous utilisez déjà une ServiceHostFactory - simplement celle fournie avec WCF. Vous pouvez écrire votre propre usine si vous voulez, et je l'ai fait dans le passé pour créer une usine que seulement écoute sur https (j'ai eu un problème sur une ferme hébergeant plusieurs sites, où il n'a pas pu identifier le bon site pour http, mais https était bien - donc j'ai complètement désactivé http via l'usine).

Performance ne devrait pas être différent aussi longtemps que tu ne vas pas fou et d'écouter sur 200 points d'extrémité ...

En général, la création manuelle du serveur est utilisé lorsque vous hébergez le serveur (par exemple) un service Windows. IIS convient à certaines choses, mais les pools d'applications sont recyclés. Ils ne sont donc pas idéaux pour un serveur qui doit conserver un état de longue durée. IIS a l'avantage d'être beaucoup plus facile à configurer, notamment en matière de sécurité (SSL, etc.) et de compression.

+0

Oui, je demande spécifiquement à propos de l'hôte du service WEB – jdiaz

0

Je suis certainement pas un expert (encore), mais par contre qui viennent à l'esprit sont:

  • vous ne pouvez avoir une méthode d'authentification à la fois (pas les deux Windows et anonyme.) Cf. . WebServiceHostFactory and IIS authentication
  • La gestion des erreurs est difficile à faire dans une manière générique (pas Application_OnError, donc vous devrez configurer vos paramètres manuellement après tout)

Pro:

  • sans effort configuration des services REST à partir de zéro.