我已經實作了一堆 custom IPipelineBehavior,例如AuthenticationBehavior, AuthorizationBehavior,ValidationBehavior等等MemoryCachedBehavior。它們都在處理程式之前執行,這就是我希望他們做的事情。
所以我的問題是我什么時候想IRequestPreProcessor改用?例如,如果我改變了我AuthenticationBehavior的:
public class AuthenticationBehavior<TRequest, TResponse> : IPipelineBehavior<TRequest, TResponse> where TRequest : IAuthenticatedRequest
對此:
public class AuthenticationPreProcessor<TRequest> : IRequestPreProcessor<TRequest> where TRequest : IAuthenticatedRequest
實際的區別是什么?
我確實看到前處理器沒有回傳回應,但除此之外,還有什么會顯著不同的嗎?除了在認知上知道這應該只處理請求并且在進入處理程式之前它不能短路和回傳之外,還有什么我沒有看到的好處嗎?什么時候應該優先考慮一種方法?
謝謝。
uj5u.com熱心網友回復:
我在MediatR GitHub頁面上得到了 Jimmy Bogard 的回答。
這并沒有顯著的不同——只是明確表示“this 在處理程式之前運行”和“this 在處理程式之后運行”,因此您不必擔心委托執行繼續。有時,那個代表會讓人們感到困惑。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/446785.html
上一篇:默認禁用.NET6功能
下一篇:是否應該計算交易成本?
