2009-12-02 6 views
0

Il y a environ 3 mois, j'ai fait le passage des services asmx aux services WCF, depuis lors j'ai eu ma part de maux de tête, mais je suis resté avec, mais même comme un développeur chevronné le déploiement reste un problème.Un moyen facile de déployer de nouveaux services WCF

Typiquement, je confie la solution à des consultants qui ne sont pas des développeurs avec des années d'expérience de débogage derrière eux.

Donc, presque toujours, je dois tenir l'opération à la main.

Une solution sur laquelle je travaille a démarré avec seulement 3 services Web. Depuis lors, j'ai réalisé que l'ajout de plus de services à la solution pouvait devenir un cauchemar logistique.

La configuration doit changer à la fois sur le client et sur le serveur et être soumise à des modifications de l'environnement telles que SSL ou non. Dans les choses classiques asmx sont beaucoup plus simples. En règle générale, je n'ai pas besoin d'un protocole hybride, et principalement je n'utilise que des fonctions basiques ou wshttpbinding.

J'ai eu un serveur que nous ne pouvions tout simplement pas utiliser sous SSL, et par conséquent, il a été décidé de le laisser en raison de contraintes de temps et de budget. Ma question est la suivante: existe-t-il des applications d'aide au déploiement automatisées faciles à détecter qui permettent de détecter l'environnement et de configurer en conséquence, ou des applications assistées par assistant dans lesquelles le consultant peut suivre un système facile à utiliser? ces services.

Merci d'avance.

Répondre

3

Non, je ne pense pas qu'il y ait beaucoup de choses en ce moment, pour faciliter le déploiement de WCF. D'autre part, puisque tout ce que vous avez à faire est de mettre à jour la configuration, qui se trouve dans les anciens fichiers de configuration XML, vous pouvez toujours imaginer votre propre système.

Ce que j'aime faire, c'est "externaliser" la configuration WCF - par ex. utiliser quelque chose comme ça dans web.config:

<system.serviceModel> 
    <behaviors configSource="behaviors.config" /> 
    <bindings configSource="bindings.config" /> 
    <services configSource="services.config" /> 
</system.serviceModel> 

Bien sûr - Visual Studio mettra squigglies rouge sous tout cela - mais il fonctionne - il le fait! :-) J'ai ceci en production toute la journée. De cette façon, je peux laisser le fichier web.config/app.config seul, et ajuster les différentes configurations "externalisées" et les déployer.

Nous faisons aussi une chose où nous avons bindings.dev.config, etc. bindings.test.config pour séparer les différentes étapes de dev/test/mise en scène, etc. - vous pouvez bien sûr aussi faire la même chose avec par exemple les noms des clients ou quelque chose comme ça.

Voilà à peu près la meilleure solution que j'ai trouvée pour le moment.

+0

Cela semble être une très bonne suggestion en effet, cela aidera les consultants, qui sont débordés par tous les détails dans web.config ou app.config –

+0

+1 Bonne idée, Marc. –

Questions connexes