If I have a customErrors section in my Web.config that says to redirect to Error.html, then putting code in the Application_Error method in the Global.asax to redirect to Error.html is redundant is it not? Technically, I could bypass the Web.config by redirecting to a different page in the Application_Error method if I wanted to, but since I don't want to go to a separate page I don't think I need the code.
Looking for best practice focused answers here with explanations.
Should the presentation layer of an ASP.Net app catch and handle exceptions thrown from the business layer, or should these be allowed to bubble out, where they can all be logged and handled uniformly in the Global.ascx's Application_Error handler?
regarding one issue I am facing. I created a httpmodule for hadling the unhandled errors and I need to log those errors using log 4 net in database.Everting working fine but I am not getting any error information once the error was hadled and I need that info too. I want to make it as a centralize module which can trap all errors and log those errors.How call application_error event of httpmodule from catch block...so that I can log that info there and I no need log in every catch block..
To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".i got this error during login time on the server how it can be solved
By defauly in my web.config I have set the , in runtime I just want to change the Mode = "Off" in memory. I do not want to save the changes to web.config.
Basically we need to see the description of the runtime error, when required.
I am using Appilcation_Error event for handling the exceptions and it catches almost all exceptions correctly. However in some pages it catches with some exception "File does not exist" and I am not able to find from where it exactly occurs. When I comment the Application_Error code, surprisingly that web page works fine.
My main concern is how can trace back to the line of code from where it threw to Appilcation_Error function.
I am trying to use the Application_Error to redirect the user to a custom error page. I know I could use the web.config to do this, but let's assume for now that this is not a desirable path to take.
Initially, I tried to do a Response.Redirect to perform this, however, there seem to be occasions where the current http context does not define the response object. So, I attempted to perform a check to make sure that the response object is not null prior to attempting the redirection, and if it is not defined, perform a Server.Transfer instead.
What happens is that in most cases, the Redirect causes the browser to some generic "friendlyish" error page rather than the requested error page.
So then I tried using Server.Transfer exclusively, and this worked well for most cases, however, sometimes the transfer didn't seem to take in the browser. Changing it back to a redirect in these cases solved that problem, but reintroduced the issue where the errors previously being captured and transferred now were being redirected.
What I surmised from this is that in certain contexts where the Application_Error method is trapped, it is necessary to use Server.Transfer in redirection, whereas in others, it is necessary to use Response.Redirect. The question then became twofold: (a) When is one necessary and when is the other? and (b) What available information can I poll to tell me when a given condition exists.
After much searching, I cannot find a reasonable answer to this question. So I began to trap errors and examine the HttpContext object for some indicator. One thing that I was looking for is the reason why if even with a defined Response in the current context does a redirect fail. The only thing that stood out is that even though a Response object may exist, the Session data could be absent. I added the case to check whether the Session data was null and perform a Transfer in this case and it seems to be handling it properly.
I emphasize "seems to be handling it properly" because no documentation I've been able to find confirms either the problem I am having or whether this is an appropriate strategy for solving it.
I guess the question is, am I on the right track here or is the null Session object just a red herring, indicative of nothing relevant. Here's the check I have set up for reference.
I 'm using visual studio 2007 and I have come up with an error in my web config that I have never come up with before. I have set customError mode "off" in my web config and I'm getting an error code of The 'mode' attribute is invalid ' The value 'off' is invalid according to it's data type 'NM Token' - the enumeration constraint failed what an 'NM token' is and what I can do to fix this problem? My page works perfectly when I'm working on it locally, but when I move it to the web server I get an error and it tells me to set the custom mode errors in the web config to 'off' This is the error I'm getting:
Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.
Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".
Here is the code copied from [URL] In asp.net code behind, I use try-catch try to catch any error but never catch it. In SQL database, if I rename Employees to Employeesx or change column DepartmentID to DepartmentIDx, record will not be deleted (it is right) without any error (it is wrong, suppose catch an error).
CREATE PROCEDURE DeleteDepartment ( @DepartmentID int ) AS BEGIN TRANSACTION DELETE FROM Employees WHERE DepartmentID = @DepartmentID IF @@ERROR <> 0 BEGIN ROLLBACK RAISERROR ('Error', 16, 1) RETURN END DELETE FROM Departments WHERE DepartmentID = @DepartmentID IF @@ERROR <> 0 BEGIN ROLLBACK RAISERROR ('Error', 16, 1) RETURN END OMMIT
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Threading.ThreadAbortException: Thread was being aborted.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
I even created a global.asax file and on the Application_Error event, I wrote a code that would email me the error (and i'm not getting an email regarding that error when I get the error shown above). I know for a fact that the thread is going inside the "try" statement because I send emails to myself whenever it finishes certain codes inside of it. So how come I'm getting that error in my browser instead of it being handled in my "catch" statement? I have two problems here, one, why is the exception not going to my "catch" statement, and two, why am I getting that error in the first place.
I'm using MapXtreme 2008 v7 for a learning project, and was wondering is there any way to make a bubble appear with data when you pass a mouse over a point?.
I have a standard web app. My default page has a WebMethod and the WebMethod gets invoked by Json from client script. On my webForm I have an area that displays messages to the user showing the stage in the process and this is just a <asp:label>. if The webmethod had been a standard method, I would simply have done something like myLabel.Text = "sometext". However, the webMethod knows nothing about the label and so I need to bubble the value to the form. If I had called the webmethod from the codebehind in the form I may have been able to use delegates/events, but the call was made by the client, so I have not wired the webmethod up to any codebehind. How do I push my text back to the form in an asyncronous manner. So the code works in this way: Form load populates some controls on the client. The user perfoms some drag and drop then presses a standard html input button that calls a client ajax/json method passing the dragged values to the webmethod. I then need to feed back to the screen at several points in the webmethod process to inform the user of the current status.
private void ChangeSomething(object sender, SelectionChangedEventArgs e){ Text1.text="selection changed" // Here I want to show the value of the bubble selected }
I've just uploaded an asp.net web project to a Fasthosts shared server (yes, I know!). The site works fine on a different server, and builds successfully. However, when I upload it (or even just the files in the App_Code folder) to the fasthosts server, I just get a flat error 500 message.
I've ensured that the web.config file includes: <customErrors mode="Off"/> but still nothing - just Error 500.
The Fasthosts server is running asp.net 3.5, which is what the web project is built to.
When an error occurs (I type in a non-existing page in address), I get the default IE "page not found" page.This happens both on localhost in development, and of course in live environment.I think this started happening since a recent Microsoft Update, which included most recent updates to .net.
We developed an application in ASP.NET 3.5 on Windows Server 2003. (IIS 6.0)They are trying to deploy it on Windows Server 2008 IIS 7.5.But we are getting the old yellow screen message: Runtime ErrorDescription:
[Code]....
Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL.
[Code]....
An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed.Details: To enable the details of this specific error message to be viewable on the local server machine, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "RemoteOnly". To enable the details to be viewable on remote machines, please set "mode" to "Off".We have turned off custom errors everywhere we can find in ASP.Net Error Pages and set it to Detailed Errors at all folder levels for IIS Error Pages.Still the yellow screen with custom errors and no detailed errors.If we switch the application pool to run in 32 bit = true, we get a detailed error. But we don't get very far with that because of Oracle issues and wouldn't really want to force it to run in 32 bit when it should really run in 64 bit anyway.So how do we get detailed messages from IIS while running in 64 bit?
I successfully implemented role based authorization in ASP.NET. When a person does not have the needed role he gets to see an error page for 401.2 not authorized.
What I would like to accomplish now is to have a custom 401 page in my application and have it redirected there via settings in the web.config. I tried this: