WCF Pipes dentro aplicação WPF Nomeado
-
06-07-2019 - |
Pergunta
Como você executar um serviço de tubulação WCF chamado no fundo de uma aplicação WPF do Windows? Eu não consigo encontrar qualquer amostras de executar o servidor WCF dentro de um aplicativo WPF.
Todas as idéias?
Atualmente, estou usando o seguinte código no Application_Startup. Será que esta necessidade de correr com seu próprio segmento?
Using Host As ServiceModel.ServiceHost = New ServiceModel.ServiceHost(GetType(Service), New Uri(("net.pipe://localhost")))
'
Host.AddServiceEndpoint(GetType(IService), New ServiceModel.NetNamedPipeBinding, "Test")
Host.Open()
'
End Using
Solução 2
I removido do bloco de código Usando ea ServiceHost como uma variável privada dentro da classe WPF aplicativo de configuração. Eu, então, fechar o ServiceHost quando sai do aplicativo. Parece funcionar bem.
Outras dicas
Juval Lowy fornece auxiliares aulas em sua biblioteca ServiceModelEx juntamente com informações sobre como executar componentes WCF em processo, que é provavelmente o que você vai querer fazer com seu componente WCF desde que você queira usar named-pipes que requer o componente para ser executado na mesma máquina como a sua aplicação WPF.
sugiro a leitura sobre a classe InProcFactory a partir da página 60 da 2ª edição do " Programação serviços WCF " por Juval Lowy. Esta é essencialmente a "bíblia" do WCF.
Isto irá mostrar-lhe exatamente como hospedar seu componente no processo de utilização de suas classes auxiliares.