Tenho um serviço WCF que aceita um tipo complexo e retorna alguns dados. Desejo usar o Fiddler para ver como são as solicitações de entrada para o serviço. O cliente é um aplicativo de console .net que usa um proxy de referência de serviço. Isso é possível com o Fiddler. Sou novo nesta ferramenta e só a usei no passado para postar dados com o construtor de solicitações.
107
Respostas:
Você precisa adicionar isso ao seu web.config
Isso é tudo, mas não se esqueça de remover as linhas do web.config após fechar o fiddler, porque do contrário, ocorrerá um erro.
Referência: http://fiddler2.com/documentation/Configure-Fiddler/Tasks/UseFiddlerAsReverseProxy
fonte
http://
endereço do proxy. Todo o resto era igual, como você mencionou.http://localhost/abc.svc
tohttp://HOSTNAME/abc.svc
O Fiddler escuta solicitações de saída em vez de solicitações de entrada, portanto, você não poderá monitorar todas as solicitações que chegam ao seu serviço usando o Fiddler.
O melhor que você obterá com o Fiddler é a capacidade de ver todas as solicitações conforme são geradas pelo seu aplicativo de console (supondo que o aplicativo gere solicitações da Web em vez de usar algum outro pipeline).
Se você quiser uma ferramenta mais poderosa (mas mais difícil de usar) que permita monitorar TODAS as solicitações recebidas, você deve verificar o WireShark.
Editar
Eu estou corrigido. Obrigado a Eric Law por postar as instruções para configurar o Fiddler para ser um proxy reverso !
fonte
Acabei de ter esse problema, o que funcionou para mim foi usar localhost.fiddler:
fonte
Consolidar as advertências mencionadas nos comentários / respostas para vários casos de uso.
Principalmente, consulte http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureDotNETApp
Em um aplicativo de console, talvez você não precise especificar
proxyaddress
:Em um aplicativo da web / algo hospedado no IIS, você precisa adicionar
proxyaddress
:HttpWebRequest
, etc), ele sempre ignorará o proxy Fiddler para URLs que contenhamlocalhost
, então você deve usar um alias como o nome da máquina ou criar algo em seu arquivo 'hosts' (é por isso que algo parecidolocalhost.fiddler
ouhttp://HOSTNAME
funciona)Se você especificar o
proxyaddress
, deverá removê-lo de sua configuração se o Fiddler não estiver ativado ou qualquer solicitação que seu aplicativo fizer gerará uma exceção como:fonte
Tão simples, tudo que você precisa é alterar o endereço no cliente de configuração: em vez de 'localhost', mude para o nome da máquina ou IP
fonte
Isso é simples se você tiver controle sobre o cliente que está enviando as comunicações. Tudo o que você precisa fazer é definir o HttpProxy na classe de serviço do lado do cliente.
Fiz isso, por exemplo, para rastrear um cliente de serviço da web em execução em um smartphone. Eu configurei o proxy nessa conexão do lado do cliente para o IP / porta do Fiddler, que estava sendo executado em um PC na rede. O aplicativo de smartphone então enviou toda a sua comunicação de saída para o serviço da web, por meio do Fiddler.
Funcionou perfeitamente.
Se o seu cliente for WCF, consulte estas perguntas e respostas para saber como definir o proxy.
Mesmo se você não tiver a capacidade de modificar o código do aplicativo do lado do cliente, pode ser capaz de definir o proxy administrativamente, dependendo da pilha de serviços da Web que seu cliente usa.
fonte
Rastreamento / diagnóstico de WCF padrão
Se por algum motivo você não conseguir fazer o Fiddler funcionar ou preferir registrar as solicitações de outra maneira, outra opção é usar a funcionalidade de rastreamento do WCF padrão. Isso produzirá um arquivo com um bom visualizador.
Docs
Consulte https://docs.microsoft.com/en-us/dotnet/framework/wcf/samples/tracing-and-message-logging
Configuração
Adicione o seguinte à sua configuração, certifique-se de que
c:\logs
existe, reconstrua e faça solicitações:fonte
Usei a ferramenta de tubarão de arame para monitorar chamadas de serviço do aplicativo silver light no navegador para o serviço. tente o link fornece informações claras
Ele permite que você monitore todo o conteúdo da solicitação e resposta.
fonte
Acabei de tentar a primeira resposta de Brad Rem e cheguei a esta configuração no web.config em BasicHttpBinding:
Espero que isso ajude alguém.
fonte
Você pode usar a versão gratuita do HTTP Debugger.
Não é um proxy e você não precisa fazer nenhuma alteração no web.config.
Além disso, pode mostrar ambos; solicitações HTTP de entrada e saída. Depurador HTTP grátis
fonte