2010-02-10 1 views
0

De nombreuses sociétés d'hébergement vous permettent de définir quelle page s'affichera à l'utilisateur si l'utilisateur accède à une page qui n'existe pas. Si vous définissez une page .aspx, elle sera exécutée et affichée.Utilisation des sociétés d'hébergement "Comportement d'erreur 404" pour implémenter le routage d'URL

Ma question est, pourquoi ne pas l'utiliser pour le routage. puisque je peux analyser l'URL des utilisateurs, puis faire un serveur.transfer à la page que je veux. 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?

Merci

Répondre

1

Vous « pouvez » faire, mais pourquoi ne pas simplement créer un HttpModule et gérer le routage? Il C'est ainsi que fonctionnent la plupart des systèmes de réécriture d'URL (en réalité, c'est aussi le fonctionnement du routage MVC puisque global.asax est juste un HttpModule de pré-construction avec quelques extras). Le gros problème avec ce genre de serveur que vous décrivez, c'est que vous ne le contrôlez pas vraiment, et c'est un mécanisme hackish ... je veux dire par là que vous utilisez une fonction web serveur qui a un but et un design spécifiques et qui a 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 de simplement utiliser les autres options qui s'offrent à vous. À moins que vous ayez besoin de quelque chose de spécial du routage, vous devriez utiliser un composant de routage existant tel que Mod-Rewrite ou l'un de la douzaine d'autres réécriveurs d'URL populaires qui ont été construits avant l'implémentation du moteur de routage MVC. les anciennes versions de asp.net. Il existe également de nombreux didacticiels sur l'utilisation de HttpModules, HttpHandlers et d'autres techniques pour effectuer le routage dans les environnements Web Forms asp.net.

+0

Merci. C'est la raison exacte pour laquelle j'ai posé cette question, car cela semblait être un hack et je voulais savoir si les gens pensaient que ce serait fiable. Pourriez-vous s'il vous plaît me dire laquelle de vos recommandations vous suggéreriez pour un site hébergé sur un hébergement partagé (Godaddy dans ce cas). Par exemple, je ne peux pas ouvrir le gestionnaire IIS et faire ce que je veux ... – adinas

+0

À peu près n'importe laquelle des solutions basées sur HttpModule sont très bien et ne nécessiterait rien de spécial dans IIS. Essayez celui-ci: http://www.urlrewriting.net/149/en/home.html Il est farily simple de travailler avec et bien documenté. –

+0

Merci. J'ai passé les deux derniers jours à apprendre cela et ça a l'air bien – adinas

Questions connexes