39 votes

ASP.NET MVC de Routage vs Réservé les noms de fichiers dans Windows

Dans notre ASP.NET application MVC, nous avons remarqué que nous ne pouvons pas avoir L'Interdit DOS des Noms de Fichiers—COM1 par COM9, LPT1 par LPT9, CON, AUX, PRN, et NUL—n'importe où dans nos itinéraires. Ils résultent inévitablement dans IIS, nous disant que le fichier ne peut être trouvé, même lorsque nous avons décidé de routage de ne pas vérifier l'existence des fichiers. Comment peut-on contourner cela?

37voto

Haacked Points 31070

Cette question a été traitée dans ASP.NET 4. http://haacked.com/archive/2010/04/29/allowing-reserved-filenames-in-URLs.aspx

Vous pouvez appliquer un réglage dans le web.config qui détend cette restriction.

<configuration>
  <system.web>
    <httpRuntime relaxedUrlToFileSystemMapping="true"/>

    <!-- ... your other settings ... -->
  </system.web>
</configuration>

Espérons que cela aide.

18voto

Benjamin Pollack Points 10458

Depuis posant la question, j'ai trouvé que le bug est dans ASP.NET bon, pas de IIS ou ASP.NET MVC, ce qui signifie qu'il n'y a aucun moyen de le contourner. La seule solution est d'manuellement interdire l'Url correspondant à ces noms et ces noms suivis d'un point et de caractères aléatoires.

4voto

CoderDennis Points 7170

Pour la même raison, il ne peut pas être un web.config balise dans StackOverflow.

http://stackoverflow.uservoice.com/pages/1722-general/suggestions/98871-web-config-tag-404-error

0voto

Jokin Points 1809

pour une autre raison, vous ne pouvez pas avoir des urls avec un point et une barre oblique http://stackoverflow.com/questions/294495/semantic-urls-with-dots-in-net

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X