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/
-~----------~----~----~----~------~----~------~--~---