J'utilise la nouvelle fonctionnalité de routage dans ASP.NET 3.5 pour agir comme mon fourre-tout pour les demandes de page sur mon site Web. Je me suis inscrit ma route comme suit dans le global.asax,Routage ASP.NET 3.5 ne pas gérer/(URL racine)
<%@ Application Language="C#" %>
<%@ Import Namespace="System.Web.Routing" %>
<script runat="server">
void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
private void RegisterRoutes(RouteCollection Routes)
{
Route r = new Route("{*URL}", new MyRouteHandler());
Routes.Add(r);
}
</script>
Le code fonctionne tout à fait bien pour toutes les URL, sauf/(la page racine). Si je vais à une autre URL/bla/quelque chose/foo/ça marche bien et mon gestionnaire est exécuté comme prévu.
Comment puis-je l'exécuter sur la page racine? Je cours le code via la construction de Visual Studio 2008 dans le serveur Web.
La meilleure solution que j'ai fini par trouver pour cela était de créer un fichier vide aspx. Ce fichier aspx est ensuite appelé dans la même méthode que celle utilisée pour l'objet MyRoutHandler décrit ci-dessus, en passant une URL codée en dur de "/". –