ASP.NET Routage - Faire des Routes COMPLÈTEMENT IGNORER Tout dans le monde.asax?
J'ai un simple ASP.NET 3.5 SP1 Formulaires Web app... j'ai ajouté le Système.Web.Routage DLL, et j'ai fait un itinéraire simple qui renvoie à une norme ASP.NET la Page en tant que "IHttpHandler".
Tout est bon... sauf que HttpContext.Actuel.L'utilisateur est null ???
J'ai donc fait un peu plus de creuser (j'ai mis des points d'arrêt dans tous les événements dans le monde.asax fichier). Normalement, ces points d'arrêt se faire frapper (quand je navigue à une norme ".aspx" de la page):
- Application_BeginRequest
- Application_AuthenticateRequest
- Application_EndRequest
Mais, lors de l'utilisation de ASP.NET Routage... aucun de ces événements sont à tirer. Ai-je raté quelque chose?
OriginalL'auteur Timothy Khouri | 2008-12-30
Vous devez vous connecter pour publier un commentaire.
En supposant que vous êtes en utilisant IIS6, l'alternative consiste à définir une "wild card" gestionnaire d'extension. L'ajout de ce simple "catch all" cartographie de IIS6 permettra de traiter votre extensionless demandes. Par défaut, l' .NET installer des cartes ".aspx" à la aspnet_isapi.dll - c'est pourquoi l' .aspx travaux d'extension. Pour les demandes de carte sans extension à la APS.NET moteur, vous devez indiquer à IIS de regarder chaque demande.
Voici un petit article qui explique le processus:
http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx
Espère que ça aide et réduit le "boiteux" facteur de votre Url. 🙂
-Todd
OriginalL'auteur Todd
Trouvé le fantasque et bizarre (et stupide) réponse 🙂
Si vous n'ajoutez pas ".aspx" à la fin de votre parcours, rien ne se déclenche dans le monde.asax, ce qui signifie que vous n'obtenez pas de BeginRequest, AuthenticateRequest, EndRequest, etc... Aussi, vous n'obtenez pas SessionState ou quoi que ce soit.
Donc, la "solution" a été pour moi de changer mon itinéraire à partir de ceci:
à ceci:
Comment complètement boiteux 🙂 ... mais c'est un correctif aucun-le-moins!
OriginalL'auteur Timothy Khouri
Quand vous dites
"Si vous n'ajoutez pas ".aspx" à la fin de votre parcours, rien ne se déclenche dans le monde.asax, ce qui signifie que vous n'obtenez pas de BeginRequest, AuthenticateRequest, EndRequest, etc... Aussi, vous n'obtenez pas SessionState ou quoi que ce soit."
Sera IIS journal de telles demandes dans les fichiers journaux ou ils anonymes? quid des variables de l'Application et de l'état d'affichage?
désolé, je n'ai pas encore testé, mais juste pour vous demander si vous savez déjà peut-être?
OriginalL'auteur
j'ai vérifié variable d'application et de Viewstate, ces deux sont évidemment de travail.. pas sûr des journaux de serveur :S
OriginalL'auteur