ASP.NET MVC Url Itinéraire de soutien (dot)

J'espère que vous pouvez m'aider avec le problème ci-dessous.

Je suis en utilisant ASP.NET MVC 3 sur IIS7 et voudrais que mon application à l'appui de nom d'utilisateur avec des points.

Exemple: http://localhost/john.lee

C'est comment mon Global.asax ressemble: (http://localhost/{nom d'utilisateur})

routes.MapRoute(
    "UserList",
    "{username}",
    new { controller = "Home", action = "ListAll" }
);

Les applications fonctionne quand je accéder à d'autres pages comme http://localhost/john.lee/details etc.

Mais le principal utilisateur de la page ne fonctionne pas, je voudrais que l'application fonctionne comme Facebook où http://www.facebook.com/john.lee est pris en charge.

J'ai utilisé le code ci-dessous et il n'a pas de travail pour moi à tous:

<httpRuntime relaxedUrlToFileSystemMapping="true" />

J'ai été en mesure d'utiliser de code ci-dessous et obtenir l'application d'accepter des points, mais je certainement ne voudrais pas utiliser de code ci-dessous pour de nombreuses raisons, s'il vous plaît dites-moi il y a un moyen de surmonter ce problème.

<modules runAllManagedModulesForAllRequests="false" />
  • stackoverflow.com/questions/8163401/dot-symbol-in-url
  • J'ai le même problème, mais dans IIS 6.
  • Je ne suis pas en mesure de reproduire le problème. Il fonctionne pour moi dans IIS Express (donc il convient également de travailler dans IIS 7.0+). Aussi, vous semblent indiquer une url de la forme /john.lee/details mais selon votre définition de la route vous ne pouvez pas spécifier une action. Il utilise toujours le ListAll action. Donc, le problème n'est pas vraiment liée à la dot ici. Il est probablement plus au sujet de vos trajets.
  • Pas de Darin, vous m'avez mal compris, localhost/john.lee est à l'aide de la route ci-dessus (ListAll), mais /john.lee/détails est à l'aide d'un itinéraire différent bien sûr, mais cela fonctionne. Je pense que cela a quelque chose à voir avec IIS, en permettant à un point sur les noms d'utilisateur, il permettrait à quelque chose comme localhost/par défaut.aspx (valeur par défaut.aspx être un nom d'utilisateur et non dans un fichier sur le dossier racine). J'ai vraiment besoin de trouver un moyen de contourner cela.
  • Essentiellement par l'activation des points sur le nom d'utilisateur, quelqu'un du nom d'utilisateur peut être par défaut.aspx alors qu'une autre personne du nom d'utilisateur pourrait être jean.lee mais IIS vont se confondre par ce que je pressume?
  • essayez de poster l'intégralité de votre table de routage, ma conjecture est une autre voie est en conflit et à l'origine de problèmes.
  • En fait, j'ai commenté TOUTES les autres voies Mondiale.asax, ci-dessus, on est la SEULE à gauche. Si je tape localhost/john.lee il ne fonctionne pas. Si je tape localhost/john.lee/ il fonctionne et la page s'. Comment puis-je faire de sorte qu'il ajoute une barre oblique dans le fond si la barre n'est pas présent sur la barre d'adresse et de ne pas ajouter une barre oblique lorsque ses il y sur la barre d'adresse? peut-être que ce serait un raccourci?
  • juste pour être sûr, avez-vous dire que <modules runAllManagedModulesForAllRequests="false" /> qui fonctionne ou ne fonctionne pas? Faire un échantillon mvc3 avec un parcours très similaire à votre propre fonctionne tant que runAllManagedModulesForAllRequests est vrai. IIRC, le problème que vous semblez avoir serait causé par IIS essayer de faire un plan de votre url pour un fichier de type lee nommé john plutôt que de votre itinéraire.
  • double possible de Points dans l'URL provoque une 404 avec ASP.NET mvc et IIS

InformationsquelleAutor Cindro | 2012-02-14