And I finally got it. There was a sneaky filter applied to all controllers (through some inheritance, not directly) that would redirect users from http://mysite/whatever to https://mysite/whatever, causing the parameters to be dropped.
I'm sorry for cluttering the list with my mess. And thank you again for the troubleshooting tips. On Jul 20, 1:52 pm, JakeS <[email protected]> wrote: > I spoke too soon. Now it's passing an empty string to the action on > the controller on production (while it works fine under debug on the > dev machine). > > Here's the latest route: > RoutingModuleEx.Engine.Add( > new PatternRoute("/Coupon/[couponCode]") > .DefaultForController().Is("CouponRedemtion") > .DefaultForAction().Is("Redeem")); > > And the controller: > > public class CouponRedemtionController : ControllerBase > { > private readonly CouponManager couponManager; > > public CouponRedemtionController(CouponManager couponManager) > { > this.couponManager = couponManager; > } > > public void Redeem(string couponCode) > { > Logger.Fatal("coupon used: " + couponCode); > if (couponManager.IsValidCouponCode(couponCode)) > UserSession.SignUp.CouponCode = couponCode; > RedirectToSiteRoot(); > } > } > > On the production box, the log shows the "coupon used: " with no > text. This is killing me. > > On Jul 20, 1:23 pm, JakeS <[email protected]> wrote: > > > I'm not sure why it ever worked on my dev box, but I found the > > problem. Of course, it was behaving exactly as it should :) > > > With that routing pattern, the following would occur: > > > # user requestshttp://mysite.com/coupon/1234 > > # reroute tohttp://mysite.com/coupon/Redeem.html?couponID=1234 > > # then THAT would reroute tohttp://mysite.com/coupon/Redeem. > > > I fixed this up by renaming my controller to something other than > > "coupon". > > > Thanks for all the troubleshooting suggestions. > > > On Jul 20, 10:48 am, James Curran <[email protected]> wrote: > > > > On Sun, Jul 19, 2009 at 6:15 PM, JakeS<[email protected]> wrote: > > > > The global.asax has the following defined: > > > > > RoutingModuleEx.Engine.Add( > > > > new PatternRoute("/coupon/<couponCode>") > > > > .DefaultForController().Is("coupon") > > > > .DefaultForAction().Is("Redeem")); > > > > This sounds a bit like a problem I had a few months ago. The full > > > thread on that is here > > > (http://groups.google.com/group/castle-project-users/browse_thread/thr...), > > > but the quick thing to try is change the line to: > > > > new PatternRoute("/coupon/[couponCode]") > > > > -- > > > Truth, > > > James --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
