It looks like the pattern being used for the route is over-zealous.
Even if I call the "Redeem" action on the CouponController directly,
it gets munged up and will only receive "Redeem" as the parameter.  If
I take out the routing, it works fine.

I'm confused by the interface on this.  Does anyone have any idea why
it would be passing "Redeem" as the coupon code when I call
http://mysite/Coupon/Redeem.html?couponCode=somecoupon ?

On Jul 20, 9:45 am, JakeS <[email protected]> wrote:
> Castle.Monorail.Framework.dll appears to be the same on both
> machines--  file version 1.0.3.0.  Looking at the assembly with
> Reflector I see the Castle.MonoRail.Framework.Routing namespace and
> the RoutingModuleEx class within.
>
> There aren't any castle libraries in the GAC on either machine.
>
> Maybe I will try to update to the latest snapshot binaries.  I'm just
> afraid of what unforseen consequences that might have too.
>
> On Jul 20, 3:28 am, Jonathon Rossi <[email protected]> wrote:
>
> > I just checked and RoutingModuleEx wasn't available in RC3, can you get the
> > subversion revision number from the file version of MR framework dll.
>
> > You could try checking out the source at that revision and debugging the
> > routing module.
>
> > Do you have any other castle binaries in the GAC on either machine?
>
> > On Mon, Jul 20, 2009 at 8:15 AM, JakeS <[email protected]> wrote:
>
> > > I've inherited a project using MonoRail and routing that works fine on
> > > my dev box, but has a strange issue in production.  The project
> > > includes all the Castle binaries required, so the versions appear to
> > > be the same on both machines -- 1.0.3.0 (old I know).
>
> > > The global.asax has the following defined:
>
> > >            RoutingModuleEx.Engine.Add(
> > >                new PatternRoute("/coupon/<couponCode>")
> > >                    .DefaultForController().Is("coupon")
> > >                    .DefaultForAction().Is("Redeem"));
>
> > > And there's a CouponController.cs that has the following action:
>
> > >        public void Redeem(string couponCode)
> > >        {
> > >            Logger.Fatal("coupon used: " + couponCode);
> > >            if (couponManager.IsValidCouponCode(couponCode))
> > >                UserSession.SignUp.CouponCode = couponCode;
> > >            RedirectToSiteRoot();
> > >        }
>
> > > If I go tohttp://mydevmachine/coupon/1231thenthe logger shows
> > > "coupon used: 1231".  But mysteriously the production server shows
> > > "coupon used: Redeem".
>
> > > Anything short of updating the entire set of castle binaries I can do
> > > to hunt down this problem?  I'm reluctant to rebuild with the newest
> > > binaries-- I've tried switching them out on other projects and found
> > > enough syntax changes to be painful.
>
> > --
> > Jono
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Castle Project Users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/castle-project-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to