Sommaire

La gestion des URL URL

Le processus de détermination d’une route est simple. En général, une application web ne comporte qu’une seule collection de routes. Afin de déterminer quelle route il faut emprunter selon la requête, le site va parcourir toutes les routes, et via un système de correspondance va déterminer la première route capable de répondre à la requête.

Avec ASP.NET Core, il existe deux composants importants dans la gestion des routes :

  • L’interface IRouter, qui détermine si la requête correspond à l’une des routes enregistrées dans l’application.

  • Le middleware RouteMiddleware, qui va lancer l’appel vers le processus de détermination d’une route. Si une route est trouvée, le processus continue vers le composant en charge du traitement de la requête selon la route bien spécifique. Sinon, le middleware continue de chaîner les appels des middlewares.

De manière synthétique, le middleware appelle la méthode RouteAsync de IRouter sur toutes les routes afin de déterminer laquelle est la plus adaptée. La classe responsable de déterminer si la requête correspond à une route est la classe TemplateMatcher via la méthode TryMatch.

Étant assez complexe, cette section ne traitera pas en détail la méthode TryMatch car ce n’est pas l’objet de ce chapitre. Cependant, il est intéressant de scruter rapidement ...