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
Foi útil?

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.

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