Web Forms :: Session_Start Executes Again After An Error Occurs (when Going To Custom Error Page)
Mar 7, 2011
I'm having a wicked time trying to redirect the different error scenarios to a custom error page. Basically, I have put some code in Application_Error in global.asax, and done the necessary web.config settings to use Custom Errors.
In global.asax on Application_Error, I stored the Server.GetLastError in Session. The reason I have to store it in Session is because (as far as I know) you lose the exception when using "ResponseRedirect". And the reason I have to use ResponseRedirect is because I am using an UpdatePanel with AJAX calls, and any exception during the AJAX call shows up as a JavaScript error, and doesn't get handled using the custom error page (see this post).
void Application_Error(object sender, EventArgs e){ ////must perform this check to avoid the "Session state is not available in this context" errors if (HttpContext.Current.Session != null) { Session["LastException"] = Server.GetLastError(); } else { // (I think this happens when there are compile-time errors) Server.Transfer("~/Oops.aspx"); }}void Session_Start(object sender, EventArgs e){ //must perform this check to avoid the "Session state is not available in this context" errors if (HttpContext.Current.Session != null) { //initialize the session (http://forums.asp.net/t/1405077.aspx) Session["LastException"] = ""; }}
I have a data driven asp.net website with frames on the top, left, right and center screen. If a page generates an error on any of the frames, I want to redirect the whole site back to the Default.aspx. Currently, when a frame page errors in one of the frames, that frame gets the error pages. Site is URL.... Is this something that can be handled?
I am trying to handle the unhandled exceptions in my project.I tried with this following code in my web.config filebut it is not at all redirecting to an error page which i have created instead of that it is throwing an exception in my code itselef. How to print the error description over therein my custom error page.
When a server error occurs for whatever reasons (YSOD), the server will send a message via SMTP class. In my case, my company employs microsoft exchange and uses NTLM authentication for all domain users. I am authenticating users via NTLA windows integrated authentication. My question is, is it possible to utilize this authentication data, and pass it to the system.web SMTP username/password authentication scheme to send an email to me (the web developer) when the error occurs? I am pretty sure my company requires a username/pwd to send emails via SMPT on the ms exchange server.
I am showing Custom Error in my page.if somehting happend wrong. but if the same error occured in my subview master page I am not able to show the Custom error page on Entire page its showing me that Error page under subview master page.I am attching the Screen shot.Can any body help me out how to show the Error page on entire page if something happend in any where submaster or other page.Here is the code that I am using in web config file to show custom Error page..
[CODE]...
Here I know the issue what's going on.This issue is occurring because i am using AJAX to partially load the contents of the tabs after the initial page load so the error is occurring AFTER my master page has been loaded.What I need to do is provide a javascript function to handle the error after the ajax call has returned and redirect to the error page.How to write this Javascript and where Do I need to write this?
I need to send a Customized Error page for 503 Errors produced by my asp.net website. I have tried to simulate the condition by switching off the application pool (doesn't work) and by flooding my application with requests. Even though IIS sends me the default 503 error page, and even though I have tried setting a Custom URL in IIS and ASP.NET for this error code, it still returns me the default 503 error page.
Basically I want to take the following:And make it match the styling of the rest of the application.I am creating a custom error page in my C# based project and I want it to be able to show the same information that is displayed in the ASP.NET default error page. From fiddling with reflector I can see that this is generated through HttpException.GetHtmlErrorMessage() but when I try to use this in my exception it returns null.
I have an intranet application which I have been putting together with ASP.NET. I have been using VWD 2010 Beta 2 which has been fine so far. But when I go to deploy the work i've done so far to a local IIS a variable which is supposed to be; being filled with the value from HttpContext.Current.User.Identity.Name is not being filled i.e. an error occurs when substring goes out of bounds. I believe it is because the HttpContext.Current.User.Identity.Name is not putting a value into the string variable 'username'. But it is quite strange as when I run the website project within VWD 2010 it works fine without any errors. IIS is set to Integrated Windows Authentication and Annonomous Users are allowed.
public static String getName() { // Store username String name = HttpContext.Current.User.Identity.Name; // Truncate username from domain name String[] substring = new String[1]; // Define the token at which the string will be broken at char[] token = { '\' }; // Split the string substring = name.Split(token); // Return the username return substring[1]; }
Any ideas why when running the exact same files from local IIS gives me errors?
I need to design a bug alert system, where the web support team is notified via email when a user of our website encounters an error of any sort (database exception, or a 404)What would be the best way to design this section of the project?
For certain parts of the site the allow inserting and updating of data we have some try / catch logic in place.. Now we would like to display a custom error page explaining what didnt happen. Instead of just a generic message that says error occurred. Here is 1 error that is generated due to Primary Key constraints, we woudl like to redirect them to our error.aspx page which is already setup and configured in the web.config but within that page display a more user friendly detail message of why they got the error. In the example below, we may want to say, "There was an error with the "Access Insert" please make sure that the values you entered on the previous page are unique" thats just an example, but gives an idea of what we are trying to do.
Here's my Application_OnError event sink in global.asax.vb:
Sub Application_OnError(ByVal sender As Object, ByVal e As EventArgs) Dim innerMostException As Exception = getInnerMostException(Me.Context.Error) If TypeOf innerMostException Is AccessDeniedException Then Security.LogAccessDeniedOccurrence(DirectCast(innerMostException, AccessDeniedException)) Dim fourOhThree As Integer = DirectCast(HttpStatusCode.Forbidden, Integer) Throw New HttpException(fourOhThree, innerMostException.Message, innerMostException) End If End Sub
You'll see that if we've got an innermost Exception of type AccessDeniedException we throw a new HTTPExcpetion with a status code of 403 AKA 'forbidden'
So what we're expecting is a redirect to the AccessDenied.aspx page. What we get is a redirect to the ServerError.aspx page.
We've also tried this:
Sub Application_OnError(ByVal sender As Object, ByVal e As EventArgs) Dim innerMostException As Exception = getInnerMostException(Me.Context.Error) If TypeOf innerMostException Is AccessDeniedException Then Security.LogAccessDeniedOccurrence(DirectCast(innerMostException, AccessDeniedException)) Context.Response.StatusCode = DirectCast(HttpStatusCode.Forbidden, Integer) End If End Sub
I have upgraded my laptop to Windows7, VS2010, .net Framework 4 and then upgraded my ASP.NET Web Application to ASP.NET 4.I am now getting the error: The type or namespace name 'Linq' does not exist in the namespace 'System' (are you missing an assembly reference?). This error occurs in a local web service thatI have written and was working before I upgraded my system.I think this has something to do with the changes made to the web.config file when my web application was upgraded to the .net 4 Framework.I have searched the forums and Goggle, but cannot solve my issue.
I've a got an Asp.Net site that is using Forms authentication, I've also got custom errors configured in the web.config. One of these is a special error page for 403's (access denied). My question is how do I get Forms authentication to work smarter?
I would like Forms authentication to send users to login page only if they are not authenticated. If they are I want it to defer to the custom error pages that i've defined in the web.config. This seems like something very basic, how can this be achieved?
I have developed .net web application. When i change the page name(Which is not exist) in URL, it throws following error msg. I could not redirect the error page for respected error no(401.2..) Through IIS Admin and web config. Could anybody give appropriate solution. It is urgent. Access is denied. Description: An error occurred while accessing the resources required to serve this request. The server may not be configured for access to the requested URL. Error message 401.2.: You do not have permission to view this directory or page using the credentials you supplied. Version Information: Microsoft .NET Framework Version:1.1.4322.2470; ASP.NET Version:1.1.4322.2470
Suppose my url is in the following way: http://MyTestSite/Posts/Post1.aspx
If I remove the .aspx at the end manually then it is not displaying my customm error page instead it is dispalying default 404 error page : Page cannot be found.
Also, if I give http://MyTestSite/Posts the same 404 error message is displaying. Even the Application_Error event in global.aspx is unable to handle this error.
How can I redirect these type of cases to my custom error Page? Do I need to make any changes in IIS default errors or can I able to acheive only using web.config?
In my application I am accessing my DB using simple stored procedure..but My code got exception....while I debug the code I have seen that the code is executed successfully and while the whole try block has been executed then the code call the exception but more ridiculously without any kind of error..here is my code
I am trying to passing Exception info tpa custom error page that I have created, and I'm looking for the best way to do so.I ended up creating a session object on my Global.asax page, and I pass the error data to the session object during the Application_Error event, but it throws it's own exception prior to working.
[Code]....
I have also updated my web.config with my error page that I would like to pass session object data to: