Question

Nous avons un service WCF existant qui utilise wsDualHttpBinding pour permettre les rappels au client. J'envisage de le migrer vers netTcpBinding pour de meilleures performances, mais je suis plutôt réticent à l'idée de quitter le service hébergé par IIS (une "zone de confort" dont nous jouissons actuellement) pour créer notre propre service Windows. J'espérais que nous pourrions toujours héberger cela sur IIS 7, mais Win2K8 ne sera plus une réalité pour nous avant un certain temps.

À quoi dois-je faire attention lors de la création de notre propre service Windows pour héberger notre service WCF? Des fonctionnalités telles que la gestion à vie et la limitation de la demande sont des fonctionnalités fournies gratuitement avec l'hébergement IIS. J'aimerais également savoir comment nous pouvons héberger efficacement notre service sans l'aide d'IIS, qui aurait l'avantage de faire le travail pour nous. Merci! :)

Était-ce utile?

La solution

Comme vous ne pouvez pas héberger à l'aide de WAS, vous devez réaliser plusieurs choses.

  • Si le service tombe en panne, il ne redémarre pas par défaut (vous pouvez toutefois le modifier dans les propriétés du service)
  • IIS recyclera le pool d'applications s'il se bloque ou devient trop volumineux; vous devez le faire vous-même si vous voulez le même type de fiabilité.
  • Vous devez créer un compte pour que le service s'exécute ou utiliser l'un des services par défaut. Relancez la tentation d'exécuter le service en tant que SYSTEM ou sous un compte administrateur; si vous souhaitez utiliser un compte intégré, utilisez NETWORK SERVICE.
  • Il devient plus difficile de déboguer in situ.
  • Pensez à utiliser un enregistreur d'erreurs tel que log4net

Cela dit, j’ai déployé une combinaison de services WCF / Windows pour un client il ya 9 mois; il est très utilisé et n'est pas mort une fois.

Vous pouvez demander l'étranglement dans un service Windows, cela fait partie de la configuration de WCF. Notez que les valeurs par défaut sont très basses, il est probable que vous deviez les augmenter.

Autres conseils

Hébergement dans une application de service Windows ( http://msdn.microsoft. com / en-us / library / ms734781.aspx ) est un bon début.

Si vous pouvez héberger votre service sur Vista, vous pouvez également bénéficier du service d'activation de processus Windows (WAS). WAS est une généralisation de l'activation de processus IIS, qui peut être utilisée pour activer des processus sur des noeuds finaux non HTTP (TCP, Named Pipe, MSMQ). Pour en savoir plus sur la WCF hébergée dans le service WAS, lisez http://msdn.microsoft. com / en-us / library / ms733109.aspx . Pour savoir comment installer et configurer WAS, lisez http://msdn.microsoft. com / en-us / library / ms731053.aspx .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top