Однако есть одна неприятная деталь: когда у меня возникает исключение, оно всплывает через все части await next.Invoke() во всем моем приложении. Это означает, что каждое пользовательское промежуточное программное обеспечение или фильтры используют async/await.
Это означает, что мне приходится нажимать «Продолжить» / F5 примерно 8 раз каждый раз, когда возникает исключение. Это особенно раздражает при работе со сложным кодом и требует большой траты времени и умственной энергии.
Смотрите этот пример ниже:

Что я пробовал:
- включено Просто мой код - не решает - как это происходит в моем коде.
- отключить этот тип исключения в настройках исключений - это не решает мою проблему, потому что первое (желтое) мне действительно нужно.
- заполните все мое приложение [DebuggerNonUserCode] - тоже то, что я не люблю делать - поскольку могут быть законные исключения, не связанные с каким-то более глубоким дочерним элементом исключения.
- см. дополнительную информацию в этом вопросе
- Поскольку Visual Studio, по-видимому, может различать эти два исключения (желтое и зеленое), возможно ли не прерывать вообще на «зеленых» исключениях?
- Как все остальные справляются с этим? Или у большинства людей нет 5+ await next.Invoke() в их коде?
- Есть ли другие обходные пути?
Обходной путь @MichelleWang работает в конкретных случаях, но требует большого количества настройки и обслуживания, если вы работаете с большим количеством разных или сложных проектов. Обычно async/await разбросаны по множеству разных классов. Некоторые фильтры, некоторый базовый код проекта, некоторый код домена и т. д.
В каком-то смысле VS уже различает эти два типа разрывов - как вообще просто разбить желтый?
ОБНОВЛЕНИЕ
Нашел существующий запрос функции - пожалуйста, помогите и проголосуйте там:
https://developercommunity.visualstudio ... ame-e.html
Подробнее здесь: https://stackoverflow.com/questions/627 ... een-breaks
Мобильная версия