Pergunta

Temos um serviço WCF existente que faz uso de wsDualHttpBinding para permitir retornos de chamada para o cliente. Estou pensando em movê-lo para netTcpBinding para um melhor desempenho, mas eu sou bastante cauteloso em se afastando do serviço de IIS-hospedado (a "zona de conforto" que desfrutam atualmente) para ter o nosso próprio serviço do Windows para hospedá-lo. Eu estava esperando que pudéssemos ainda acolher esta no IIS 7, mas Win2k8 não será realidade para nós por algum tempo.

O que as coisas que eu deveria observar ao criar o nosso próprio serviço do Windows para hospedar o nosso serviço WCF? Coisas como gestão de vida e pedido de estrangulamento são características que vêm livre com IIS hospedagem para que eu também gostaria de saber como podemos efetivamente sediar o nosso serviço por conta própria, sem a conveniência de ter IIS fazer o trabalho duro para nós. Obrigado! :)

Foi útil?

Solução

Assim como você não pode hospedar usando era há um par de coisas a realizar.

  • Se o serviço de trava não reiniciar por padrão (embora você pode mudar isso em propriedades do serviço)
  • IIS irá reciclar o pool de aplicativos se ele trava ou cresce muito grande; você deve fazer isso sozinho se quiser que o mesmo tipo de confiabilidade.
  • Você deve criar uma conta para o serviço para ser executado em, ou usar um dos serviços padrão. Repetir a tentação de executar o serviço como SYSTEM ou sob uma conta de administrador; se você quiser usar um construído em SERVIÇO uso conta de rede.
  • Torna-se mais difícil de depuração in situ.
  • Considere o uso de um registrador de erro, como log4net

Tendo dito que eu implantado uma combinação de serviço WCF / Windows para um cliente 9 meses atrás; ele é muito utilizado e não morreu uma vez.

Você pode pedido acelerador em um serviço do Windows, é parte da configuração do WCF. Observe os padrões são muito baixos, é provável que você terá que aumentar estes.

Outras dicas

Hospedando em um aplicativo Windows Service ( http://msdn.microsoft. com / en-us / library / ms734781.aspx ) é um bom começo.

Se você pode hospedar seu serviço no Vista, você pode também beneficiar de Serviço de Ativação de Processos do Windows (WAS). WS é uma generalização do processo de activação do IIS, que pode ser utilizada para processos de activação através de HTTP não-terminais (TCP, named pipe, MSMQ). Para saber mais sobre WCF hospedado no WAS, leia http://msdn.microsoft. com / en-us / library / ms733109.aspx . Para saber como instalar e configurar FOI, leia http://msdn.microsoft. com / en-us / library / ms731053.aspx .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top