Я начинаю новый проект и думаю об использовании перехвата SimpleInjector (https://simpleinjector.readthedocs.io/en/latest/InterceptionExtensions.html) для отслеживания параметров ввода/вывода и регистрации параметров и возвращаемых значений и т. Д. Я использовал этот перехватчик в прошлом, и он прекрасно работает. Но мои предыдущие проекты не были асинхронными/ждут. Этот новый проект имеет множество методов, которые все async/ждут, и мне было интересноПерехват SimpleInjector в коде async/await
- будет ли этот перехватчик работать для методов async/wait?
- Какие изменения необходимы в этом перехватчике, чтобы заставить его работать для методов async/wait?
Я понимаю, что декораторы намного лучше, чем перехват, но написание декоратора для каждого интерфейса, который я хочу отслеживать, не является тем, что я с нетерпением жду.
UPDATE: Я пробовал этот перехватчик в моем асинхронном/ожидающем коде, и он вводит мой код отслеживания. Тем не менее, я получал странные результаты в некоторых частях моего приложения. У меня не было возможности углубиться в то, почему отключение перехвата заставило бы его работать нормально и почему, когда перехват был включен, он не будет работать так, как ожидалось. Это может быть очень плохо с моим кодом.
Я надеялся, что если кто-то, кто уже использовал это расширение перехвата в своем коде, сможет указать мне в правильном направлении.
'будет перехватчик работать на асинхронном/ждут методы' ли это работать, когда вы пробовали? –
«Это сработает?» Если вы явно пишете свой метод для работы с асинхронными вызовами, да. – Steven