Скрыть исключения в панели отладки Visual Studio [дубликат]

Я получил эту ошибку при вызове веб-сервиса. Эта проблема также была связана с безопасностью транспортного уровня. Я мог бы вызвать веб-сервис через проект веб-сайта, но при повторном использовании одного и того же кода в тестовом проекте я получил бы WebException, содержащее это сообщение. Добавив следующую строку перед тем, как решить проблему, проблема:

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;

Изменить

System.Net.ServicePointManager.SecurityProtocol - это свойство выбирает версию протокола Secure Sockets Layer (SSL) или Transport Layer Security (TLS) для использования для новых подключений, использующих только протокол Secure Hypertext Transfer Protocol (HTTPS); существующие соединения не изменяются.

Я считаю, что конфигурация SecurityProtocol важна во время установления связи TLS при выборе версии протокола.

TLS handshake - этот протокол используется для обмена всей информацией, необходимой обеим сторонам для обмена фактическими данными приложения с помощью TLS.

ClientHello - клиент отправляет сообщение ClientHello с указанием самой высокой версии протокола TLS, которую он поддерживает ...

ServerHello - сервер отвечает сообщением ServerHello, содержащим выбранную версию протокола ... Выбранная версия протокола должна быть самым высоким, что и клиентская, и серверная поддержка. Например, если клиент поддерживает TLS версии 1.1, а сервер поддерживает версию 1.2, следует выбрать версию 1.1; версия 1.2 не должна быть выбрана.

12
задан Chris 13 May 2015 в 10:55
поделиться

3 ответа

Различные службы в VS записываются в окно вывода, поэтому на основе источника создается встроенный фильтр. Вы можете часто выбирать источник, такой как «Build Output», «Test discovery», «General», «Debug» и т. Д.

Debug.Write вызовы перехватываются VS, и текст заканчивается в Output но нет встроенной фильтрации.

Я могу думать о 3 способах этого:

  1. Используйте DbgView для перехвата сообщений Debug.Write вместо того, чтобы позволить VS перехватить их. DbgView имеет очень мощные функции фильтрации и раскраски *
  2. Попробуйте это расширение , которое окрашивает вывод на основе регулярных выражений
  3. . Напишите свое собственное расширение (это не так сложно !) [/ ​​g4]

(*) Если вы спуститесь по этому маршруту, обратите внимание, что Debug.Write - это просто трассировка, и когда вы присоединяете отладчик VS, он добавит себя в качестве лидера трассировки. То же самое для DbgView. Но когда вы отсоедините его, он не удалит слушателя, и сообщения будут потеряны.

5
ответ дан Bogdan Gavril 22 August 2018 в 07:26
поделиться
  • 1
    Спасибо за ваше время и ответ! Я попробовал DbgView (с правами администратора), но он не печатает ничего, что связано с моим приложением. (Я начал и остановил отладчик, но это не сработало). Расширение окраски полезно, но недостаточно для меня, поскольку оно все еще заполняет окно вывода. Странно, что никто не нуждался в этой функции. Я попытаюсь посмотреть, могу ли я быстро написать расширение (хотя пока не знаю, как это сделать): - / – frankish 13 May 2015 в 13:02
  • 2
    Попробуйте запустить приложение без отладчика (или вообще без VS), а затем запустите dbgview. – Bogdan Gavril 13 May 2015 в 14:02
  • 3
    Я оставил VS открытым, но остановил отладчик, DbgView работал правильно, и я могу отфильтровать его для проведения тестов. Большое спасибо. (Но опять же, я надеюсь, что когда-нибудь VS включит эту функцию фильтрации, поэтому я могу использовать отладчик VS динамически) – frankish 13 May 2015 в 14:54

Я использую этот метод:

Откройте окно «Отладка - выход», просто щелкнув правой кнопкой мыши по окну.

Вы можете проверить / снять флажок в соответствии с вашими потребностями.

26
ответ дан FetFrumos 22 August 2018 в 07:26
поделиться

Одна вещь, которую я только что нашел в VS 2017 (и я думаю, что это тоже в других версиях):

Tools | Options | Debugging | General > Redirect all Output Window text to the Immediate Window

Это дает вам только программу Debug.Write X выводит в непосредственное окно и оставляет все остальное содержимое в окне вывода, которое вы можете оставить закрытым.

Я все еще могу посмотреть мусор в окне вывода если мне нужно по какой-то причине; он не подавляется. Он просто не попадает в ближайшее окно.

И я просто оставлю небольшое мгновенное окно, состыкованное внизу.

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

IMHO Microsoft должна расширить раскрывающееся окно окна вывода, чтобы включить все категории, которые FetFrumos указывал в его ответ, поэтому разработчики могут просто оставить его в «Program Output». Я думаю, что это будет хорошим улучшением.

6
ответ дан toddmo 22 August 2018 в 07:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: