2010-07-21 22 views
1

Est-il possible d'utiliser le System.Web.Routing fourni par Microsoft (ou Mono) au lieu du routage MonoRail lors de la création d'une application Castle MonoRail pour ASP.NET? Toute bonne information sur la façon de mettre en œuvre cela comme une solution? Avantages et inconvénients?Est-il possible d'utiliser System.Web.Routing dans Castle Monorail?

+1

Pour tous ceux qui voudraient suggérer que la réponse à cette question est juste d'adopter l'ensemble de la pile ASP.NET MVC, je vous donne Joel Spolsky: http://www.joelonsoftware.com/articles/fog0000000069. html – Justin

Répondre

2

C'est tout à fait possible. Vous devez implémenter le IRouteHandler d'ASP.NET qui recherchera les données de route dans le RequestContext donné, puis remettra les données à MonoRail.

Cela peut être fait de plusieurs façons. Je suppose que Server.RewritePath fonctionnera, mais vous pouvez rechercher plus proprement le code dans deux classes de MonoRail, à savoir MonorailHttpHandlerFactory et RoutingModuleEx, pour savoir comment retourner définir les choses nécessaires sur le MonoRailHttpHandler vous reviendrez du IRouteHandler. En ce qui concerne les problèmes, il serait très difficile de faire l'inverse, c'est-à-dire de générer des routes à partir des actions du contrôleur.