My project has a page with oops.aspx error. We have the following code in global.asax :
protected void Application_Error(object sender, EventArgs e) { Server.Transfer("~/oops.aspx", true); }
oops.aspx can extract an error, generate a nice message on the server and present an error message to the user.
Using Server.Transfer stores the URL, form information, and other useful troubleshooting information. At one point in oops.aspx, composing a letter, I grab Request.RawUrl and include it in the email. This is the URL (with query string parameters) of the page that caused the error.
We also have this in web.config:
<customErrors mode="On" defaultRedirect="oops.aspx"></customErrors>
When a system is redirected due to an error based on this, it is redirected to /oops.aspx?aspxerrorpath=/Clients/EditClient.aspx (sometimes with /, sometimes with path delimiters% 2f). The information about Querystring and Exception is lost, so the emails and messages generated by oops.aspx are sparse and don't say much about what is happening.
Recently, I get a lot of errors of this second kind. Mistakes happen in small bunches, several of them in a few minutes, and then nothing in a few hours. They occur throughout the site (including WebResource.axd , etc.), which makes me think that this is not a particular error on our site, but something that happens at a lower level, for example, a session server problem or something like that.
So, with all this, my actual question is:
I get errors on the site that happen in such a way that they are not caught by global.asax. What can cause such errors and how to eliminate them?