I've never seen or even heard of any behavior like this before. * What version of Mach-II are you using? * Are you using AJAX to do the form posts?
I bet if you use an HTTP header sniffer like Live Headers plugin for Firefox you'll see two requests being made by the browser. Another problem can be if you are using rewrite support in your webserver and it's rewriting stuff twice. I seriously doubt that it's any particular with the framework going on as there would be *a lot* of broken applications in the wild. .pjf davee said the following on 08/11/2009 10:06 AM: > I have an application that has an interesting problem that I have not > yet been able to get a handle on. Here is a synopsis; > > After an event has been completely executed, it is executed again > without the request scope. > > Specifically, when a form is submitted (happens on all browser > requested events), the event is processed normally, but after it is > finished, the event is triggered again, but this time, the form > variables do not exist at all, suggesting that the second instance is > being instantiated from within the mach-ii engine somehow. My > understanding of this that this should be impossible since the server > always passes the request scope to the back end engine. The fact that > there is no request scope and looking for the form structure which is > supposed to always be sent to the coldfusion engine turns up without > it seems impossible, but since it is happening, this is obviously not > true. > > What I have discovered so far is: > > * It's not in the filters > * It's not in the pluggins > * Almost every event gets triggered this way. > * it's not begin reported by the mach-ii logging tools (only shows > one instance being executed) > * it is being captured by the coldfusion cflog tag > * The only manipulation of the event queue is a redirect filter to > redirect events to a login and then to the original event. > * If I put a cfabort after processing the event (ie, inthe view > page or at the end of a function, the second instance never > occurs, so the workaround of putting a cfabort at the end of the > footer page would effectively stop this, but would also stop any > redirects or announces as well > * The other workaround is to put a check for the form variable into > each listener function and only call the gateway function if it > exists, but this only means that the application is doing things > we have no understanding of and that is not acceptable. > > > I have disabled the filters and plugins by; > > * removing them from the config files > * renaming the functions inside so they can't be called > * forcing filters to ALWAYS return true > > > > I've run the skeleton and it does not exhibit this behavior so I know > it MUST be something I'm doing. > > The way I discovered it was using a function that deleted all records > associated with an event and rebuilt them based on the submitted > form. The first time, it deleted the records and created the new > records. Then it deleted the records and since the form structure, > normally in request scope didn't exist, it had nothing to create the > new records with and of course suggests that the whole process never > happened. but using cflog and cfabort, you can see that it is clearly > happening. > > My question is this; Before I spend a great deal of time running this > to ground, has anyone ever seen this behavior? > > Any help would be appreciated. > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to Mach-II for CFML list. 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/mach-ii-for-coldfusion?hl=en SVN: http://greatbiztoolsllc.svn.cvsdude.com/mach-ii/ Wiki / Documentation / Tickets: http://greatbiztoolsllc.trac.cvsdude.com/mach-ii/ -~----------~----~----~----~------~----~------~--~---
