I am currently working on a standalone (Adobe)Flash chat Client that, similar to Michael Washington's IWeb Module, talks to a DNN hosted aspx-page (the Gateway), that again returns the data as a well formed XML document.
Here, when it comes to performance, I am not happy of being forced to run through all the ASP.NET pipeline that triggers many things I do not need and therefore will unnecessarily throttle overall DNN performance.
So the question here is, whether there is a way to control the pipeline, or at least, whether there is an option to bypass certain HTTP Module handlers for some exceptional requests. Best would be to have a way for telling a single aspx page which HTTP Modules (and only those) to execute.
What worries me even more than just the performance issue, is, that anybody, anytime might add HTTP Modules to the pipeline that might have an even worse impact on my Gateway's function, respectively the well defined XML-Response it generates ( in my case - the response always needs to comply with a client side *.xsd definition file).
Currently I see the following options to deal with this:
1. Defensive
I am not sure whether the Core Team should be aware, that with an upcoming need for web-services, AJAX-requests and other types of "callbacks", adding more and more functionality (and "if" statements) to the pipeline might significantly impact overall performance. Here I suggest to eiterh put "global functions" somewhere else (something that can be dynamically switched on or off), or to provide a hook to unregister or bypass HttpModule Handling for specific Requests.
2. Radical
Ignore DNN completly and get the data from the native Database. Although this migth be the most performant solution, it is disastrous from an administrative and security point of view (e.g. managing security at two places).
3. LowLevel
Bypass IIS and call the dlls directly (RPC). Might be a good solution for some individually customized installations, but not very useful in a world that increasingly builds on the web.
4. Dedicated Gateway Marker
It might be a good idea to specify a path- or file-name or some other type of marker for the identification of facade items (such as an aspx page) that will be ignored by all standard DNN HttpModules.
So what I have in mind in some kind of "if (URL == Marker) then exit" clause to be used in every HttP Handler's init() function.
Any other ideas ?