none
Total de conexões abertas RRS feed

  • Pergunta

  • Boa tarde,

    existe alguma forma de eu saber quantas conexões abertas com um WCF service existe? preciso saber quantas conexões estão abertas ao meu serviço para eu desenvolver uma rotina
    sexta-feira, 28 de agosto de 2009 20:59

Respostas

  • Boas Helio,

    Você já tem a sua disposição PerformanceCounters para monitorar isso. A pergunta agora é: você quer acessar isso em uma aplicação ou pode utilizar uma ferramenta do Windows para isso?

    Independentemente de qual das alternativas utilizar, você tem que começar a capturar informações no serviço, e para isso, você deve habilitar no arquivo de configuração do serviço:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <system.serviceModel>
        <diagnostics performanceCounters="All" />
      </system.serviceModel>
    </configuration>

    Se optar por utilizar a ferramenta do Windows, você pode iniciar os projetos (Host e Client), e ir até Painel de Controle >> Ferramentas Administrativas >> Performance Monitor. Lá você adiciona o seguinte contador: ServiceModelService 3.0.0.0 >> Instances. A partir daí, você já consegue visualizar graficamente as instâncias que estão sendo criadas pelo WCF.

    Agora, se quiser monitorar isso a partir de uma aplicação customizada, então você precisa recorrer ao namespace System.Diagnostics, assim como eu mostro no capítulo 4 deste livro: http://www.israelaece.com/post/Por-dentro-da-Base-Class-Library.aspx.
    http://www.israelaece.com
    sábado, 29 de agosto de 2009 13:30
    Moderador

Todas as Respostas

  • Boas Helio,

    Você já tem a sua disposição PerformanceCounters para monitorar isso. A pergunta agora é: você quer acessar isso em uma aplicação ou pode utilizar uma ferramenta do Windows para isso?

    Independentemente de qual das alternativas utilizar, você tem que começar a capturar informações no serviço, e para isso, você deve habilitar no arquivo de configuração do serviço:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <system.serviceModel>
        <diagnostics performanceCounters="All" />
      </system.serviceModel>
    </configuration>

    Se optar por utilizar a ferramenta do Windows, você pode iniciar os projetos (Host e Client), e ir até Painel de Controle >> Ferramentas Administrativas >> Performance Monitor. Lá você adiciona o seguinte contador: ServiceModelService 3.0.0.0 >> Instances. A partir daí, você já consegue visualizar graficamente as instâncias que estão sendo criadas pelo WCF.

    Agora, se quiser monitorar isso a partir de uma aplicação customizada, então você precisa recorrer ao namespace System.Diagnostics, assim como eu mostro no capítulo 4 deste livro: http://www.israelaece.com/post/Por-dentro-da-Base-Class-Library.aspx.
    http://www.israelaece.com
    sábado, 29 de agosto de 2009 13:30
    Moderador
  • seria montar isso no .net mesmo
    segunda-feira, 31 de agosto de 2009 13:30
  • Boas Helio,

    Então basta você seguir o que sugeri acima no link do artigo, mas consumindo os contadores do WCF.
    http://www.israelaece.com
    segunda-feira, 31 de agosto de 2009 13:39
    Moderador