2009-08-26 7 views
3

J'ai un problème étrange avec le routage. J'ai un site Web existant auquel j'essaye d'ajouter ceci. Cela fonctionne, mais seulement si .aspx est à la fin de l'URL. Si je supprime le .aspx, il me donne une erreur: "La ressource ne peut pas être trouvée." J'ai créé un site web de test rapide et copié le code, cela fonctionne très bien. Le code entre les 2 sont identiques. Les deux fonctionnent sur le serveur Web VS 2008. Je ne comprends pas. Des idées?Asp.Net System.Web.Routing ne routera pas l'URL sauf si .aspx est à la fin

Merci, Vincent

+0

quelle version d'IIS? Et si 7 quel mode de pipeline utilisez-vous? – olle

+0

Je n'utilise que le serveur web intégré avec VS 2008. – vincentw56

Répondre

1

D'accord, j'ai trouvé le problème. Je ne comprends pas pourquoi cela a causé le problème, mais s'il y a un point (.) N'importe où dans l'URL, il y a des erreurs.

J'ai eu ceci: http://localhost:49463/site.dev/products/keylessentrykits

Quand je l'ai changé: http://localhost:49463/sitedev/products/keylessentrykits, supprimant la période entre le site et dev, il a bien fonctionné.

Quelqu'un at-il une idée de pourquoi c'est? Est-ce un bug?

Aussi, j'aurais dû dire quelque chose avant, mais ce n'est pas une application MVC.

+0

Oui, je pense que c'est un bug. Vous devriez le déposer - https://connect.microsoft.com/VisualStudio/feedback/ –

0

Je pense que vous devez définir la dll ISAPI pour gérer tous les fichiers (par exemple ajouter un caractère générique). Cela fonctionne car il est configuré pour gérer .aspx.

+0

Je n'utilise que le serveur web intégré dans VS 2008. – vincentw56

0

Merci de bien vouloir trouver la solution et de l'afficher. J'ai souffert du même problème et j'ai essayé de le résoudre pendant des jours maintenant! Ma solution contient plusieurs projets: Web, logique métier, accès aux données, etc. Mon projet Web s'appelait "SystemName.WebForms" et lorsque je compilais et exécutais à partir de l'environnement de débogage de Visual Studio, seules les routes contenant une période étaient en cours. routé correctement. Une fois que j'ai renommé mon projet Web en "SystemName_WebForms", toutes les routes ont été traitées correctement. Je soupçonne fortement que c'est un bug que vous avez découvert.

Un grand merci pour trouver la solution de contournement et avoir la générosité de l'afficher!

MomentSurfer

Questions connexes