2010-07-28 14 views
2

Je vais essayer d'être bref, je trouve en essayant de créer un itinéraire personnalisé avec un nom et une adresse de properties mon application ASP.NET MVC retourne un fichier 404 introuvable lors de la frappe de la route.Je souhaite avoir un itinéraire nommé 'propriétés', mais recevoir 404 erreur (Détecte le dossier existe sur le disque)

Je l'ai déduit très probablement du fait que j'ai un dossier sur le disque appelé Propriétés qui est bien sûr un dossier asp.net commun qui est créé automatiquement. J'ai trouvé quelqu'un d'autre qui a souffert de this problem on SO, mais il semble qu'il n'y ait eu aucune résolution, seulement pour nommer votre itinéraire quelque chose de différent!

Il s'agit sûrement d'un oubli ou d'une solution de contournement? Évidemment, il y aura beaucoup de répertoires communs dont vous pourriez avoir besoin comme routes et/ou dossiers de façon interchangeable, dont nous connaissons déjà certains comme Les propriétés ne peuvent probablement pas être supprimées! Je comprends également que nous devons aussi honorer les dossiers réels en tant qu'URL, mais je pense que le routage devrait avoir la priorité avant de regarder les dossiers sur le disque.

Si quelqu'un a des idées sur la façon d'accomplir cela, il serait grandement apprécié. :)

Répondre

1

En regardant le code source de référence .NET, il ne semble pas comme si Properties est particulière à l'exécution ASP.NET (HttpRuntime.cs a des constantes de chaîne pour bin, App_Code, etc.). Essayez de renommer le dossier physique Properties en quelque chose comme App_Properties et en modifiant l'espace de noms des fichiers correspondants. Vous devrez également modifier le fichier .csproj/.vbproj car VS masque la commande Renommer pour ce dossier "spécial".

Une fois que vous avez fait cela, en utilisant une partie du comportement intégré dans les onglets de propriétés de projet tels que la création de paramètres par défaut et les ressources provoquera le dossier Properties être recréés afin que vous devrez ouvrir le .settings et .resx fichiers directement pour les éditer.

+0

Concept intéressant, va essayer. – GONeale

+0

A travaillé super, merci – GONeale

1

Si vous supprimez le dossier de propriétés dans votre projet asp.net mvc, il fonctionnera comme décrit.

Il est à noter que le comportement que vous décrivez ne se présentera pas sous IIS (ce n'est pas une solution).

IISExpress devrait vous aider lors de sa sortie!

Je voudrais expérimenter avec cela plus que je pensais que le moteur de route a pris le pas sur les objets du système de fichiers, en particulier lorsque vous configurez un mappage de caractères génériques.