Pergunta

Duas semanas atrás eu precisava de uma maneira de se comunicar um serviço WCF com um serviço do Windows em execução no mesmo computador. O serviço janelas tiveram de obter dados a partir de uma fonte externa e compartilhá-lo com o serviço WCF (hospedado no IIS) que tinha a dar-lhe quando um cliente fez um pedido. Eu escolhi fazer isso com ipc.

Eu fiz isso e agora o serviço do Windows é o servidor IPC e o serviço WCF é o cliente ipc. Isto vai bem, mas acho que eu cometi um erro fazer isso porque para fazê-lo funcionar direito o mosto serviço do Windows para ser executado com a conta ASPNET, para esta conta senha ASPNET deve ser atribuído e quando eu faço que o IIS não funciona corretamente .

Estou pensando em alternativas diferentes, mas em todos eles as persistir problemas. Algumas ideias?


Editar:

O que eu precisava era um sistema que tornou público, em um serviço web hospedado no IIS, os dados obtidos através de telnet a partir de outro sistema antigo, o que é um pouco instável. Como a resposta deste segundo sistema era lento eu escolhi para colocar um processo (o serviço windows) entre o serviço web eo sistema antigo. O serviço janelas tinha que salvar os dados recolhidos a partir do sistema antigo e quando o serviço wcf pediu que dar tudo de uma vez através ipc.

Foi útil?

Solução

Porque não basta criar outra conta com o mesmo conjunto de permissão do usuário ASPNET que tanto o serviço WCF e seu outro run serviço sob? Dessa forma, você tem controle sobre a senha.

Outras dicas

Por que a necessidade de serviço do Windows para ser executado como o usuário ASPNET? É que porque você está usando uma conexão IPC que requer autenticação do chamador?

Outra alternativa (se você tem controle sobre o código de janelas-service) seria fazer que um serviço WCF, bem como (usando um ServiceHost no serviço windows). O serviço IIS pôde se conectar ao serviço do Windows usando um NetTcp ou NetNamedPipe ligação se você precisa do IPC-like desempenho.

O ideal é que o serviço do Windows deve ser executado como um serviço WCF, de que maneira a sua fácil para o cliente para se comunicar com ele.

A próxima pergunta é enfrentar as necessidades dos clientes 'para ser um serviço WCF. Se este cliente precisa para servir outras aplicações, então é necessário, caso contrário pode não ser nessesary. Eu não sei o suficiente sobre seu sistema, então cabe a você decidir o que é melhor!

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