La Réécriture d'URL IIS vs le Routage d'URL
J'avais l'intention d'utiliser le routage d'url pour une application Web Forms. Mais, après la lecture de certains postes, je ne suis pas sûr si c'est d'une approche facile.
Est-il préférable d'utiliser le Module de Réécriture d'URL pour les formulaires web? Mais, c'est seulement pour IIS7. Initialement, il y avait un certain buzz que le routage d'URL est totalement découplées Asp.Net MVC et elle pourrait être utilisée pour les formulaires web.
Aimerais entendre toutes les suggestions..
- La bonne définition de la différence. coderjournal.com/2010/03/difference-between-routing-rewriting
Vous devez vous connecter pour publier un commentaire.
Il y a un après beaucoup ici sur les différences entre les deux d'un membre de l'équipe IIS.
Une mise en garde, je vous conseille, c'est que pour les Formulaires web, vous devez être prudent lors de l'utilisation de Routage. J'ai écrit un exemple de mise en œuvre de la façon dont vous devriez utiliser routage avec les Formulaires web qui répond à ces préoccupations et espérons-le, permet de répondre à votre question.
C'est le meilleur article que j'ai trouvé sur ce sujet: La Réécriture d'URL IIS et ASP.NET routage par Ruslan Yakouchev.
La Réécriture d'URL IIS
Lorsqu'un client fait une requête au serveur Web pour une URL donnée, l'URL-rewriting composant d'analyse de l'URL demandée et le change pour un autre différent de l'URL sur le même serveur. L'URL-rewriting composant s'exécute très tôt dans le processus de traitement des requêtes, est donc capable de modifier l'URL demandée avant que le serveur Web rend une décision au sujet de gestionnaire à utiliser pour le traitement de la demande.
ASP.NET Routage
ASP.NET le routage est mis en œuvre comme un module de code managé qui se branche dans le IIS pipeline de traitement de demande à le Résoudre Cache étape (PostResolveRequestCache événement) et à la Carte Gestionnaire de scène (PostMapRequestHandler). ASP.NET le routage est configuré pour s'exécuter pour toutes les demandes formulées à l'application Web.
Différences entre la réécriture d'URL et ASP.NET routage:
En plus de ces différences conceptuelles, il y a quelques différences fonctionnelles entre les services IIS pour la réécriture d'URL et ASP.NET routage:
Voulez-vous formaté url à une usine pour la ponte des pages?
ou voulez-vous faire de la .aspx en aller?
réécriture, est pour faire le .aspx aller loin, ou tout simplement pour ranger l'url.
De routage, est pour regarder une demande et la détermination de l'objet qui doit le gérer. Ils peuvent sembler similaires, phil haack a quelques bons articles sur le sujet.
dans iis6, isapiRewrite, est très bon
Récemment, j'ai juste écrit mon propre système de réécriture à faire de l'Url sur mes sites regarder mieux. Fondamentalement, vous allez avoir besoin d'écrire votre propre IHttpModule et l'ajouter à votre site web.config pour intercepter les requêtes entrantes. Vous pouvez ensuite utiliser la HttpContext.Actuel.RewritePath de changer ce que vous êtes pointant sur.
Vous devrez également configurer votre site pour utiliser le aspnet_isapi pour tout.
Vous découvrirez beaucoup de petits problèmes le long de la manière, par exemple en essayant de travailler avec des pages qui utilisent des "queues" sur eux (comme pour PageMethods), ou le cheminement des éléments de la page et de la forme de publications, mais vous obtiendrez grâce à eux.
Si intéressé, je peux poster un lien pour le code et vous pourrez vérifier. J'ai travaillé beaucoup de les problèmes déjà fait l'objet, de sorte que vous pouvez lire à travers elle que vous allez. Je suis sûr qu'il ya beaucoup d'autres personnes qui ont fait cela en tant que bien que peut-être de bonnes ressources.
Vous voudrez peut-être vérifier mon réponse à cette question: ASP.NET - la Construction de votre propre système de routage. - Je inclure quelques bonnes références pour aider à construire votre propre système de routage, soit avec l'aide de l'url rewriting méthode ou le nouveau moteur de routage que vous pouvez utiliser qui est sorti de la ASP.NET projet MVC.
La Dynamique de Données de projet qui est disponible avec .Net 3.5 SP1 montre un bon exemple de routage d'url de mise en œuvre.
Pour la Réécriture d'URL sur IIS, IIRF travaille dans IIS5, 6, 7. Gratuit. Facile. Rapide. L'Open Source. Support des expressions régulières.