Question

Je suis en train d'enregistrer la collection d'itinéraire en .net en fonction de chaque session. Le code je fonctionne très bien, vous goto site / nom d'utilisateur et charge les sous-pages correctes, mais vous devez redémarrer l'application pour goto site / username2 pour charger les sous-pages. Mais lorsque l'application redémarre la seconde on travaille, mais pas le premier.

Y at-il un moyen de créer une collection d'itinéraires différents par session et non par application à l'aide System.Web.Routing.

Était-ce utile?

La solution

Vous pouvez créer votre propre gestionnaire d'itinéraire. Jetez un oeil à: ASP.Net MVC Framework -. Créer votre propre IRouteHandler

En utilisant cette approche, vous serez en mesure d'acheminer différemment par demande. Chaque demande peut alors jeter un oeil à vos valeurs de session pour obtenir le gestionnaire correct.

Autres conseils

Les itinéraires sont liés aux noms de route et sont stockés au niveau mondial pour l'application Web, de sorte que vous ne pouvez pas vraiment définir des itinéraires par session. Pouvez-vous donner un exemple des raisons pour lesquelles vous avez besoin d'itinéraires différents pour différents utilisateurs? Très probablement, il peut être résolu en utilisant simplement les modèles de route, comme la mise en RouteUrl à somehting comme: "membre / logo / {size} / {UserName} .jpg", où vous pouvez spécifier UserName et la taille lors de la génération de l'URL de route via la page. GetRouteUrl ()

RouteTable.Routes est statique de sorte que les mêmes itinéraires sont partagés entre toutes les sessions. Donc, vous ne pouvez pas avoir un ensemble différent de routes pour chaque session.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top