Session doesn't work in Application_Error in Global.aspx

M

Mike Malter

I have a general error page that I configured in web.config as
<customErrors mode="On" defaultRedirect="CRDefaultError.aspx" />
This error page comes up whenever an error occurs outside of any try/catch blocks.

This page has a text box in it that I would like to fill with relevant information about the error. I am trying to put the
Server.GetLastError().ToString() in there. It did not work on the page, and I read somewhere that I should create a session
variable in the Application_Error event in Global.aspx. My problem is that if I try to create a session variable in
Application_Error, it throws another error!

So, is there anyway that I can simply grab the Server.GetLastError().ToString() and get to it in my custom error page?

Thanks.

Mike
 
M

Mike Malter

Marshal,

Thanks. I'll try this.

Mike

Marshal Antony said:
Hi Mike,
Use your Server.GetLastError() in Application_Error event handler in
Global.asax.cs. and store it in a Session variable there.
protected void Application_Error(Object sender, EventArgs e)

{

Exception last_Error=Server.GetLastError();

if(last_Error!=null)

{

Session["last_Error"]=last_Error.ToString();

// You can redirect to your custom error page from here and can access the
Session variable Session["last_Error"] from there.

Response.Redirect("CRDefaultError.aspx");

}

Hope this helps.

Regards,

Marshal Antony

.NET Developer

http://www.dotnetmarshal.com







Mike Malter said:
I have a general error page that I configured in web.config as
<customErrors mode="On" defaultRedirect="CRDefaultError.aspx" />
This error page comes up whenever an error occurs outside of any try/catch blocks.

This page has a text box in it that I would like to fill with relevant
information about the error. I am trying to put the
Server.GetLastError().ToString() in there. It did not work on the page,
and I read somewhere that I should create a session
variable in the Application_Error event in Global.aspx. My problem is
that if I try to create a session variable in
Application_Error, it throws another error!

So, is there anyway that I can simply grab the
Server.GetLastError().ToString() and get to it in my custom error page?
Thanks.

Mike
 
M

Mike Malter

Marshal,

The problem here is still the same, whenever I try to assign a value to a session variable in the Application_OnError event I get
another error.

Any thoughts?

Thanks.

Mike

Marshal Antony said:
Hi Mike,
Use your Server.GetLastError() in Application_Error event handler in
Global.asax.cs. and store it in a Session variable there.
protected void Application_Error(Object sender, EventArgs e)

{

Exception last_Error=Server.GetLastError();

if(last_Error!=null)

{

Session["last_Error"]=last_Error.ToString();

// You can redirect to your custom error page from here and can access the
Session variable Session["last_Error"] from there.

Response.Redirect("CRDefaultError.aspx");

}

Hope this helps.

Regards,

Marshal Antony

.NET Developer

http://www.dotnetmarshal.com







Mike Malter said:
I have a general error page that I configured in web.config as
<customErrors mode="On" defaultRedirect="CRDefaultError.aspx" />
This error page comes up whenever an error occurs outside of any try/catch blocks.

This page has a text box in it that I would like to fill with relevant
information about the error. I am trying to put the
Server.GetLastError().ToString() in there. It did not work on the page,
and I read somewhere that I should create a session
variable in the Application_Error event in Global.aspx. My problem is
that if I try to create a session variable in
Application_Error, it throws another error!

So, is there anyway that I can simply grab the
Server.GetLastError().ToString() and get to it in my custom error page?
Thanks.

Mike
 
M

Marshal Antony

Hi Mike,
Use your Server.GetLastError() in Application_Error event handler in
Global.asax.cs. and store it in a Session variable there.
protected void Application_Error(Object sender, EventArgs e)

{

Exception last_Error=Server.GetLastError();

if(last_Error!=null)

{

Session["last_Error"]=last_Error.ToString();

// You can redirect to your custom error page from here and can access the
Session variable Session["last_Error"] from there.

Response.Redirect("CRDefaultError.aspx");

}

Hope this helps.

Regards,

Marshal Antony

..NET Developer

http://www.dotnetmarshal.com







Mike Malter said:
I have a general error page that I configured in web.config as
<customErrors mode="On" defaultRedirect="CRDefaultError.aspx" />
This error page comes up whenever an error occurs outside of any try/catch blocks.

This page has a text box in it that I would like to fill with relevant
information about the error. I am trying to put the
Server.GetLastError().ToString() in there. It did not work on the page,
and I read somewhere that I should create a session
variable in the Application_Error event in Global.aspx. My problem is
that if I try to create a session variable in
Application_Error, it throws another error!

So, is there anyway that I can simply grab the
Server.GetLastError().ToString() and get to it in my custom error page?
 

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

Top