我開始一個新項目,並且正在考慮使用SimpleInjector攔截(https://simpleinjector.readthedocs.io/en/latest/InterceptionExtensions.html)來跟蹤方法進入/退出以及記錄參數和返回值等。我過去曾使用過這個攔截器,它效果很好。但我以前的項目不是異步/等待。這個新項目有很多方法,都是異步/等待,我想知道異步/等待代碼中的SimpleInjector攔截
- 這個攔截器會爲async/await方法工作嗎?
- 這個攔截器需要做什麼修改才能使它適用於異步/等待方法?
我明白,裝飾比攔截一個更好的模式,但寫的每一個界面,我想跟蹤一個裝飾是不是我很期待做的事情。
更新: 我試過這個攔截器在我的異步/等待代碼,它注入了我的跟蹤代碼。但是,在我的應用程序的某些部分,我收到了奇怪的結果。我沒有機會深入瞭解爲什麼禁用攔截會使其正常工作,並且爲什麼當啓用攔截時不能按預期工作。這可能是我的代碼有問題。
我希望如果有人已經在他們的代碼中使用了這種截取擴展,就能夠指引我朝着正確的方向發展。
'會爲異步這個攔截工作/ await方法'難道它,當你嘗試過工作嗎? –
「它會工作嗎?」如果你明確地寫你的方法來處理異步調用,是的。 – Steven