By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
429,401 Members | 814 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 429,401 IT Pros & Developers. It's quick & easy.

Events in HttpModule

P: n/a
Hi,

I've easily implemented an HttpModule and use AcquireRequestState to
initialize an object and ReleaseRequestState store to session. Unfortunately
if a Response.Redirect takes place. The ReleaseRequestState does not fire.
No problem, I implement PreSendRequestContent or PreSendRequestHeaders and
now I'm able to fire the event before the Response.Redirect. But Uhoh, I've
got no access to the Session or Context.Items objects???

Please help I'm stumped on when/where to fire an event and still have access
to session and context before firing response.redirect.

Thanks,
John Haynes

jhaynes "at" mckinleycapital "dot" com
Nov 18 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a
Hi,

the source parameter holds HttpApplication so you can get context from
it :

public void Init(HttpApplication application)
{
application.BeginRequest += (new
EventHandler(this.Application_BeginRequest));
application.EndRequest += (new
EventHandler(this.Application_EndRequest));
application.PreSendRequestContent += (new EventHandler(this.App));
}

private void App(Object source, EventArgs e)
{
HttpApplication application = (HttpApplication)source;
HttpContext context = application.Context;
}

anyway you can also use EndRequest.

HTH

Natty Gur[MVP]

blog : http://weblogs.asp.net/ngur
Mobile: +972-(0)58-888377
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Nov 18 '05 #2

P: n/a
Getting to the context or session is not the problem, the problem is they no
longer exist at that point in the HttpPipeline they've already been dumped
from the HttpContext...

They are null nothing do not exists at this point. In debug mode when ">?
HttpContext", Current, Session and a few other elements have already been
dumped. As simple as it may seem I have no access to those elements at that
point. At runtime it produces object not found errors

I'd like to find some actual documentation that details what happens when
the events in the pipeline get bypassed. For example. I was using
ReleaseRequestState but Response.Redirect never fires ReleaseRequestState
and goes right to the next page. Where AcquireRequesState will fire. On a
full page load I can run ReleaseRequestState and have full access to Context
and Session but the peculiar thing is PreSendRequestContent and
PreSendRequestHeader preceed ReleaseRequestState in the HttpPipeline yet I
dont have access to the Context or Session there. I have been unable to find
documentation that supports this.

Thanks for the info though.

John

"Natty Gur" <na***@dao2com.com> wrote in message
news:eV*************@TK2MSFTNGP10.phx.gbl...
Hi,

the source parameter holds HttpApplication so you can get context from
it :

public void Init(HttpApplication application)
{
application.BeginRequest += (new
EventHandler(this.Application_BeginRequest));
application.EndRequest += (new
EventHandler(this.Application_EndRequest));
application.PreSendRequestContent += (new EventHandler(this.App));
}

private void App(Object source, EventArgs e)
{
HttpApplication application = (HttpApplication)source;
HttpContext context = application.Context;
}

anyway you can also use EndRequest.

HTH

Natty Gur[MVP]

blog : http://weblogs.asp.net/ngur
Mobile: +972-(0)58-888377
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!

Nov 18 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.