Answered Wcf ChannelFactory e OpenTimeout

  • quarta-feira, 18 de janeiro de 2012 19:51
     
     

    Pessoal,

    Em um client, estou tentando conectar a um wcf setando o opentimeout só que este não está sendo respeitado. estou criando o canal assim:

    NetTcpBinding tipoVinculo = new NetTcpBinding(SecurityMode.None);
    tipoVinculo.OpenTimeout = new TimeSpan(0, 0, 5);
    var canal = new ChannelFactory<IServicoProxy>(tipoVinculo, new EndpointAddress(enderecoConexao)); 
    canal.CreateChannel();

     

    Após isso chamo método mas se o servidor está fora, demora 21 segundo e não os 5 que setei no OpenTimeout, o que está faltando?

     


    Obrigado 


    Alexandre Martins

Todas as Respostas

  • segunda-feira, 23 de janeiro de 2012 19:46
    Moderador
     
     

    Alexandre,

    Alguma novidade quanto a essa questão?


    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima
  • quinta-feira, 9 de fevereiro de 2012 11:57
     
     

    Boas Alexandre,

    Verifique as propriedades SendTimeout e ReceiveTimeout do objeto tipoVinculo. Elas devem atender a sua necessidade.

    Espero ter ajudado.


    Daniel Torres Coding is fun :)

  • segunda-feira, 13 de fevereiro de 2012 10:48
     
     Respondido

    Minha saída foi usar socket para checar, não achei nada "out of the box" para isso

     using (Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp))
                    {
                        socket.ReceiveTimeout = socket.SendTimeout = 1000;
                        IAsyncResult res = socket.BeginConnect(ip, porta, null, null);
                        bool seConectado = res.AsyncWaitHandle.WaitOne(new TimeSpan(0, 0, 1000), true);
                    }


    Alexandre Martins

  • sexta-feira, 8 de junho de 2012 17:27
     
     
    Nada André,  tive que remover esta opção do socket pois quando existe concorrência volta como indisponível

    Alexandre Martins

  • sexta-feira, 8 de junho de 2012 17:28
     
     
    Não respeita, setei estas props mas elas não são respeitadas

    Alexandre Martins