2010-01-15 4 views
2

Il s'agit d'une question générale sur le traitement de la réécriture d'URL dans un environnement de développement. Je suis en train de développer un CMS pour apprendre ASP.NET/C#, et je devrai bien sûr implémenter la réécriture d'URL. Cette technique est connue depuis que je l'utilise avec PHP depuis plusieurs années. Cependant, en PHP, vous pouvez avoir un serveur HTTP local, modifier le contenu PHP directement, actualiser la page et voir les résultats. Bien sûr, dans ASP.NET, ce n'est pas exactement la même chose, puisque vous devez compiler puis publier le code. Le problème que j'ai, c'est que j'ai besoin de vérifier les liens URL Rewriting-friendly que mon code va générer dans mon environnement de développement - fondamentalement, rendre le serveur de développement ASP.NET compatible avec la réécriture d'URL. Ou peut être pas.ASP.NET/URL Réécriture dans un environnement de développement

Ma question est vraiment: quelle est la meilleure solution pour faire cela? Utilisez IIS/Apache2 (w/Mono) pour le serveur de développement?

Répondre

0

Si vous développez je devinerai que vous le faites sur Windows. Le nombre d'hôtes disponibles pour Mono et Linux/Apache est relativement faible, il est donc préférable de se familiariser avec les méthodes IIS.

Pour IIS Vista/Windows 7 vous avez un certain nombre de choix

  • One URL rewrite de beaucoup HTTP module pour ASP.NET - cela fonctionne très bien si vous ne souhaitez que Réécrire sur vos pages ASP.NET.Vous pouvez également mettre en correspondance d'autres types de fichiers car IIS 7 modifie
  • A URL rewriter ISAPI extension pour IIS - plus rapide que l'utilisation d'ASP.NET et plus familier si vous utilisez mod_rewrite.
  • Jouez avec ASP.NET MVC pour obtenir des résultats instantanés.

Scott Guthrie a un grand poste dessus, et this question aidera beaucoup.

2

Activez simplement IIS sur votre ordinateur local, puis créez un site Web et pointez-le sur le répertoire du projet de votre site Web. C'est de loin la façon la plus simple si vous me demandez.

1

Comme klausbyskov states, vous pouvez en effet mettre en place IIS sur votre machine de développement et travailler directement là-bas:

En fonction de votre plate-forme, il est probablement plus facile d'avoir vos fichiers de projet dans le dossier wwwroot dans IIS, puis soit créer un nouveau site pointant vers ce point, ou assurez-vous que vous l'avez configuré en tant qu'application dans IIS. Dites simplement à Visual Studio d'utiliser un "serveur Web IIS local" dans les propriétés du projet. Vous pouvez alors utiliser quelque chose comme le IIS Url Rewrite Module pour effectuer votre routage.

Une autre option serait d'ajouter une référence à la bibliothèque System.Web.Routing qui a été introduite dans .NET 3.5 SP1 - il y a un number of tutorials out on the web sur l'utilisation de cela avec des formulaires Web par opposition à MVC. Cela aurait l'avantage que vous seriez capable d'utiliser les outils du moteur de routage pour générer les liens correctement, et sachez qu'ils seraient gérés correctement par le serveur - quelque chose que vous n'obtiendriez généralement pas d'un module IIS, où vous générez vous-même vos liens et devez vous assurer que le module a été configuré de la même manière.

0

Si vous configurez votre projet en tant que «site Web» au lieu d'une «application Web», le serveur Web compilera tout automatiquement pour vous chaque fois qu'il est modifié; vous n'aurez pas à faire de compilation explicite à moins de changer de code dans une DLL utilisée par le projet. Ceci est cependant plus facile avec une instance locale d'IIS qu'avec Cassini, car Cassini ne semble pas très bien capable de détecter les changements et de forcer les redémarrages.

Questions connexes