Pergunta

Nós temos usado PollingDuplexHttpBinding por algum tempo para fazer Pub/Sub Mensagens.Temos métodos que não retornam resultados que permitem aos clientes assinar algum feed de dados e então o serviço envia os dados de volta via CallBack contratos.

Agora mesmo estamos adicionando alguns Request/Reply métodos para o nosso OperationContract.Como os clientes são Silverlight 3 esses métodos são chamados usando o async Begin() End() padrão.O problema é que não podemos fazer isso funcionar usando PollingDuplexHttpBinding.Sempre obtemos o seguinte erro (quando o HTTP da pilha do cliente é usado):

O servidor não forneceu uma resposta significativa;isso pode ser causado por uma incompatibilidade de contrato, um encerramento prematuro da sessão ou um erro interno do servidor.

Com a pilha do navegador, obtemos HTTP 500: Not Found.

Ao mudar para BasicHttpBinding o Request/Reply métodos são chamados completamente bem, mas obviamente Pub/Sub métodos não podem ser usados ​​com esta ligação.

Poderíamos usar dois pontos de extremidade separados para cada tipo de mensagem, mas preferiríamos não usar e me parece estranho que uma ligação suportasse apenas o Pub/Sub padrão (mesmo que esta seja a motivação para PollingDuplexHttpBinding).

Alguém poderia esclarecer isso para mim?É possível?

Foi útil?

Solução

Nunca fizemos isso funcionar.Usamos BasicHttpBinding para todas as nossas operações de solicitação/resposta entre nossos aplicativos Silverlight 4 e nossos serviços WCF 4.Todas essas são chamadas de método assíncrono (devem ser com Silverlight) para serviços por chamada.Para algumas situações em que devemos fazer push de servidor, temos um serviço Sessionful WCF mantendo uma conexão PollingDuplexHttpBinding com o cliente Silverlight e usamos contratos de retorno de chamada com métodos unidirecionais para fazer chamadas.

Nunca foi possível fazer com que as operações de solicitação/resposta funcionassem com PollingDuplexHttpBinding, mas também nunca encontrei uma autoridade no assunto ...

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