Towards Completely Demystifying ASP.NET Requests

R

Robert Cramer

After having worked with ASP.NET for several years, I believe I understand
the high-level sequence of events that occur when a page is requested. But
now I want a deeper level of understanding. In short, I want to fully
understand *everything* that happens with a request, from the time IIS gets
it, through the ASP.NET pipeline, and ultimately the Page class finally
handling the request and going through its lifecycle. My plan would be to
start with a very simplistic page, then add complexity (ultimately a bunch
of server controls, AJAX callbacks, etc).

My question is how to best go about seeing as much of this activity (in
action) as possible.

I understand that, using VS 2008, we can look at .NET Framework source code
and even step through it. That would be helpful for understanding the inner
workings of a particular control being loaded into a page. Lutz Roeder's
Reflector could also come in handy when I want to understand how some of the
classes work.

What other tools are available to me? How can I have a look at the incoming
Http headers, for example?

Please note that I'm wanting to *see* the Request being processed - at least
as much as possible. I'm not interested in any reading materials, as I think
I've done enough reading. I want to see this in action, or at least stop the
action so I can see what's going on at a particular point in the processing
activity. Suggestions are appreciated!

Thanks.
 
B

bruce barker

install fiddler to see request and response information.

there is not a lot of code for processing a page request at high level
(reflector is good enough for this). you pretty much need to read the
docs to understand how the iis hands the request to the asp.net
processor (all different for iis 7.0). but its basically a stream in/
stream out via rpc.

for ajax, the javascript is a resource in the web extensions dll (or use
firefox and dev/firebug extension to see/debug javascript). its pretty
simple code to go thru.

the textbox is a pretty simple control to follow event firing
(ondatachange), but to know control events, write a simple control based
on <span><input type=text/><img/></span> and implement server side
onchange, onclick, and autopostback (if img clicked). this should not
take over a hour or so, and is not many lines of code. hint: you will
need to use viewstate to do onchange.

also you could write so helper debug functions (or ide addin) for
accessing the input request. the w3c http 1.1 spec will tell you
everything need to understand the request/response.

if you use com (bad idea), review the thread pool handling for com
object support (especially sta objects).

serialization is done via a runtime code generator, but if you
precompile serialization, you should be able to use reflector to see the
code.

-- bruce (sqlwork.com)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top