Как программно захватить строки отладки веб-метода в Visual Studio 2017

У меня есть приложение .NET, которое использует пакет Microsoft.TeamFoundationServer.Client для получения данных с сервера TFS.

Когда я запускаю свое приложение в Visual Studio 2017, я вижу следующую информацию в консоли вывода:

Web method running: [https://mytfsserver/tfs/Site/_apis/git/repositories/<repoId>/items?scopePath=%2FMobile.AuthenticationService%2FMobile.AuthenticationService.Tests%2F&recursionLevel=Full&download=False&version=Release] (GET)items[git]
Web method response: [https://mytfsserver/tfs/Site/_apis/git/repositories/<repoid>/items?scopePath=%2FMobile.AuthenticationService%2FMobile.AuthenticationService.Tests%2F&recursionLevel=Full&download=False&version=Release] (GET)items[git] 206 ms

Я пытаюсь устранить проблему с производительностью, когда моему тому же приложению на сервере требуется в два раза больше времени для выполнения отчета, чем локально, и я хотел бы зафиксировать время ответа на запрос, как показано в конце второго сообщения отладки ответа.

Есть ли способ программно захватить эти строки отладки? Я знаю, что могу использовать fiddler, но не думаю, что у меня есть права на его установку на моем веб-сервере.

Вот ссылка на существующее поведение вывода отладки VSTS REST API: https://developercommunity.visualstudio.com/content/problem/263288/please-Optionally-Remove-web-method-running-and-we.html

Вот пример вызова, который приведет к такому результату:

var changeset = versionControlServer.ArtifactProvider.GetChangeset(new Uri(externalLink.LinkedArtifactUri));

Как насчет использования таймера, как показано в этом сообщении https://stackoverflow.com/questions/7893897/check-response-time-with-httpwebrequest?   —  person Adolfo Perez    schedule 13.06.2018

Проблема в том, что API TFS выполняет внутренние запросы. Эти строки отладки исходят из библиотеки. Я думаю об использовании прослушивателя Trace, подобного этому stackoverflow.com/questions/1159755/   —  person Adolfo Perez    schedule 13.06.2018

Не глядя на код, это трудно понять, но нельзя ли запустить таймер перед передачей в API, а затем остановить его после получения ответа?   —  person Adolfo Perez    schedule 13.06.2018

Я поместил образец запроса в свой исходный пост. Я мог бы попробовать оборачивать свои звонки в таймер. Спасибо за предложение   —  person Adolfo Perez    schedule 13.06.2018

Просто попробуйте средство диагностики — Network в VS, см. в этом блоге, чтобы узнать подробности. Надеюсь, это поможет.   —  person Adolfo Perez    schedule 14.06.2018

См. также:  Невозможно подключить базу данных SQL Azure из Python с помощью Key Vault Secret

@AdolfoPerez Вы решили проблему? любое обновление?   —  person Adolfo Perez    schedule 26.06.2018

Понравилась статья? Поделиться с друзьями:
IT Шеф
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: