HTTPModule is only invoked once request is handed off to ASP.NET ISAPI
extension:
http.sys -> IIS pipeline -> determine extension -> ASP.NET ISAPI
extension -> ASP.NET pipeline
Requests for static files, for example, are handled by IIS Static file
handler, not ASP.NET, so HTTPModule would never be invoked (unless you map
all file extensions to ASP.NET)
ISAPI filter (or lower level tool, e.g. a packet capture tool) is probably
the only way.
Cheers
Ken

Signature
My IIS Blog: www.adOpenStatic.com/cs/blogs/ken
> Hello Andy,
>
[quoted text clipped - 20 lines]
> AF> AF> Andy
> AF>
Michael Nemtsev - 07 Jun 2007 12:25 GMT
Hello Ken,
hmmm..
What about IIS7? The same ISAPI stuff?
---
WBR, Michael Nemtsev [.NET/C# MVP].
My blog: http://spaces.live.com/laflour
Team blog: http://devkids.blogspot.com/
"The greatest danger for most of us is not that our aim is too high and we
miss it, but that it is too low and we reach it" (c) Michelangelo
KS> HTTPModule is only invoked once request is handed off to ASP.NET
KS> ISAPI extension:
KS>
KS> http.sys -> IIS pipeline -> determine extension -> ASP.NET ISAPI
KS> extension -> ASP.NET pipeline
KS>
KS> Requests for static files, for example, are handled by IIS Static
KS> file handler, not ASP.NET, so HTTPModule would never be invoked
KS> (unless you map all file extensions to ASP.NET)
KS>
KS> ISAPI filter (or lower level tool, e.g. a packet capture tool) is
KS> probably the only way.
KS>
KS> Cheers
KS> Ken
KS> "Michael Nemtsev" <nemtsev@msn.com> wrote in message
KS> news:a279a63a3f646f8c97723d97cb3f6@msnews.microsoft.com...
KS>
>> Hello Andy,
>>
[quoted text clipped - 23 lines]
>> AF> AF> Andy
>> AF>
David Wang - 07 Jun 2007 13:30 GMT
Products like TeaLeaf do what was originally asked and exist.
If you are looking for a free solution, I don't know of any.
For the theoretically inclined:
IIS6 Request Processing Details:
http://blogs.msdn.com/david.wang/archive/2005/10/14/HOWTO_IIS_6_Request_Processi
ng_Basics_Part_1.aspx
IIS6 solutions involve any combination of the following techniques:
- How to read request entity body -
http://blogs.msdn.com/david.wang/archive/2006/05/10/HOWTO-Access-POST-form-data-
with-ISAPI.aspx
- ISAPI Filter reading ALL_RAW ServerVariable after
SF_NOTIFY_AUTH_COMPLETE event to retrieve effective request headers
- ISAPI Filter listening to SF_NOTIFY_SEND_RAW_DATA to capture
response stream. Kills performance by disabling platform advantages
like TransmitFile for StaticFiles and kernel response cache for
Dynamic Files.
IIS7 solutions
- Existing IIS6 solution works with same caveats
- Native code Module listening on READ_ENTITY and SEND_ENTITY to
buffer
- Existing HttpModule and HttpHandler techniques can be applied to any/
all resources on a per-app basis (CANNOT configure one codebase to run
globally for any/all requests - read this for why -
http://blogs.msdn.com/david.wang/archive/2005/09/13/Why-Global-Managed-Modules-a
re-Disallowed-in-IIS7.aspx
)
//David
http://w3-4u.blogspot.com
http://blogs.msdn.com/David.Wang
//
> Hello Ken,
>
[quoted text clipped - 57 lines]
>
> - Show quoted text -
Andy Fish - 07 Jun 2007 13:23 GMT
Thanks for all the replies
I have read up a bit about the asp.net pipeline and, as I am currently only
interested in asp.net requests, I think IHttpModule will do it for me.
I was just hoping that someone had already invented this so I wouldn't have
to write it myself, but it doesn't look like it's available off the shelf. I
would think it's a common requirement.
I have previously tried ethereal and the other obvious alternative which is
a proxy with logging. these are just a bit more cumbersome to use than
having logging built into the web server.
Andy
> HTTPModule is only invoked once request is handed off to ASP.NET ISAPI
> extension:
[quoted text clipped - 36 lines]
>> AF> AF> Andy
>> AF>