Après avoir lu l'article sur asp.net core middlware, je ne sais pas quand utiliser des filtres ni quand utiliser des middlewares, car ils semblent atteindre le même objectif. Quand faut-il utiliser les middlewares au lieu de fitler?
Réponses
Trop de publicités?Il y a une vidéo à ce sujet sur le canal 9: ASP.NET Monstres #91: Middleware vs Filtres. Pour résumer la vidéo:
L'exécution de la demande démarre et nous avons un middleware, et un autre middlerware, comme les "poupées russes à l'intérieur de la poupée" et, finalement, le routage middleware coups de pied, puis demande va dans le MVC pipline.
Donc, si vous n'avez pas besoin le contexte de la MVC (disons que vous êtes préoccupé par des flux et de l'exécution, comme la réponse à des en-têtes de certains pré-mécanisme de routage, etc.) ensuite, utilisez middlewares.
Mais si vous avez besoin de le contexte de la MVC et que vous voulez jouer contre des actions, puis sur l'utilisation des filtres.
Middleware agissent au niveau de ASP.NET de Base et peut agir sur chaque requête qui vient à la demande.
MVC filtres en revanche, seulement pour exécuter les demandes qui viennent MVC.
Ainsi, par exemple, si je voulais appliquer que toutes les demandes doivent être faites via le protocole HTTPS, je dois utiliser un middleware pour que. Si j'ai fait un MVC filtre qui fait que les utilisateurs pourraient toujours demander par exemple des fichiers statiques sur HTTP.
Mais d'un autre côté, quelque chose que les journaux de demande durées dans les contrôleurs MVC pouvait tout à fait être une action de filtre.