0 votes

Utilisation du "comportement d'erreur 404" des sociétés d'hébergement pour mettre en œuvre le routage d'URL

De nombreuses sociétés d'hébergement vous permettent de définir la page qui sera affichée à l'utilisateur si celui-ci se rend sur une page qui n'existe pas. Si vous définissez une page .aspx, elle s'exécutera et sera affichée.

Ma question est la suivante : pourquoi ne pas l'utiliser pour le routage, puisque je peux analyser l'URL de l'utilisateur et effectuer un transfert serveur vers la page souhaitée. J'ai vérifié et il n'y a pas de redirection envoyée au client et les en-têtes http sont HTTP/1.1 200 OK.

Alors, est-ce une bonne idée pour les serveurs qui n'ont pas ASP.NET 3.5 SP1 ou si vous n'utilisez pas MVC ?

Gracias

1voto

Stephen M. Redd Points 4222

Vous pouvez le faire, mais pourquoi ne pas simplement créer un HttpModule et y gérer le routage ? C'est ainsi que fonctionnent la plupart des systèmes de réécriture d'URL (en fait, c'est également ainsi que fonctionne le routage MVC puisque global.asax n'est qu'un HttpModule pré-construit avec quelques extras).

Le gros problème avec la gestion du serveur que vous décrivez, c'est que vous n'en avez pas vraiment le contrôle et que c'est un mécanisme de piratage... je veux dire que vous prenez une fonction du serveur web qui a un but et une conception spécifiques et que vous lui donnez une signification et une fonction différentes... ce qui signifie que vous n'avez pas de gestion intégrée pour une erreur 404 réelle. De plus, le mécanisme que vous envisagez est plus difficile à adapter à votre objectif que les autres options disponibles.

À moins que vous n'ayez besoin de quelque chose de spécial pour le routage, vous devriez envisager d'utiliser un composant de routage existant tel que Mod-Rewrite ou l'un de la douzaine d'autres réécritures d'URL populaires qui ont été construites avant la mise en œuvre du moteur de routage MVC et qui fonctionnent bien dans les anciennes versions d'asp.net. Il existe également de nombreux tutoriels sur l'utilisation de HttpModules, de HttpHandlers et de diverses autres techniques de routage dans les environnements de formulaires Web asp.net.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X