У меня есть служба WCF, которая принимает сложный тип и возвращает некоторые данные. Я хочу использовать Fiddler, чтобы посмотреть, как выглядят входящие запросы к службе. Клиент - это консольное приложение .net, которое использует прокси-сервер ссылки на службу. Возможно ли это с Fiddler. Я новичок в этом инструменте и раньше использовал его только для публикации данных с помощью конструктора запросов.
107
Ответы:
Вам нужно добавить это в свой web.config
Это все, но не забудьте удалить строки web.config после закрытия скрипта, потому что, если вы этого не сделаете, это приведет к ошибке.
Ссылка: http://fiddler2.com/documentation/Configure-Fiddler/Tasks/UseFiddlerAsReverseProxy
источник
http://
адрес прокси. В остальном все было так же, как вы упомянули.http://localhost/abc.svc
наhttp://HOSTNAME/abc.svc
Fiddler слушает исходящие запросы, а не входящие, поэтому вы не сможете отслеживать все запросы, поступающие в вашу службу, с помощью Fiddler.
Лучшее, что вы получите от Fiddler, - это возможность видеть все запросы по мере их создания вашим консольным приложением (при условии, что приложение генерирует веб-запросы, а не использует какой-либо другой конвейер).
Если вам нужен более мощный (но более сложный в использовании) инструмент, который позволит вам отслеживать ВСЕ входящие запросы, вам следует попробовать WireShark.
редактировать
Я исправился. Спасибо Эрику Лоу за публикацию инструкций по настройке Fiddler в качестве обратного прокси !
источник
У меня была эта проблема, у меня сработало использование localhost.fiddler:
источник
Обобщение предостережений, упомянутых в комментариях / ответах, для нескольких вариантов использования.
В основном см. Http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureDotNETApp
В консольном приложении вам может не понадобиться указывать
proxyaddress
:В веб-приложении / чем-то, размещенном в IIS, вам необходимо добавить
proxyaddress
:HttpWebRequest
т. Д.), Он всегда будет обходить прокси-сервер Fiddler для URL-адресов, содержащихсяlocalhost
, поэтому вы должны использовать псевдоним, например имя машины, или создать что-то в вашем файле 'hosts' (вот почему что то вродеlocalhost.fiddler
илиhttp://HOSTNAME
работает)Если вы укажете
proxyaddress
, вы должны удалить его из своей конфигурации, если Fiddler не включен, или любые запросы, которые делает ваше приложение, вызовут исключение, например:источник
Все, что вам нужно, это изменить адрес в клиенте конфигурации: вместо localhost измените имя компьютера или IP
источник
Это просто, если у вас есть контроль над клиентом, который отправляет сообщения. Все, что вам нужно сделать, это установить HttpProxy в классе обслуживания на стороне клиента.
Я сделал это, например, для отслеживания клиента веб-службы, запущенного на смартфоне. Я установил прокси на этом клиентском подключении к IP / порту Fiddler, который работал на ПК в сети. Затем приложение для смартфона отправило все исходящие сообщения в веб-службу через Fiddler.
Это сработало отлично.
Если ваш клиент является клиентом WCF, просмотрите эти вопросы и ответы, чтобы узнать, как настроить прокси.
Даже если у вас нет возможности изменять код клиентского приложения, вы можете настроить прокси-сервер административно, в зависимости от стека веб-сервисов, который использует ваш клиент.
источник
Стандартная трассировка / диагностика WCF
Если по какой-то причине вы не можете заставить Fiddler работать или предпочитаете регистрировать запросы другим способом, другой вариант - использовать стандартные функции трассировки WCF. Это создаст файл с удобным средством просмотра.
Документы
См. Https://docs.microsoft.com/en-us/dotnet/framework/wcf/samples/tracing-and-message-logging
Конфигурация
Добавьте в конфигурацию следующее, убедитесь, что оно
c:\logs
существует, перестройте и сделайте запросы:источник
Я использовал инструмент Wire Shark для мониторинга вызовов службы из приложения Silver Light в браузере в службу. попробуйте ссылку дает четкую информацию
Это позволяет вам контролировать все содержимое запроса и ответа.
источник
Я просто попробовал первый ответ Брэда Рема и пришел к этому параметру в web.config в разделе BasicHttpBinding:
Надеюсь, это кому-то поможет.
источник
Вы можете использовать бесплатную версию HTTP Debugger.
Это не прокси, и вам не нужно вносить никаких изменений в web.config.
Кроме того, он может показать и то, и другое; входящие и исходящие HTTP-запросы. HTTP-отладчик бесплатно
источник