500 Vs 500.100 Error in Classic ASP

2020-03-02 02:37发布

问题:

When running classic ASP application in IIS7, when would a 500 error happen rather than a 500.100 error? What I mean is that a 500 error occurs but not a 500.100 error. I am under the impression that classic ASP would only throw 500.100 errors when error occurs in it's VBScript code. Some explanation through an example would be very helpful.

回答1:

Classic ASP has always returned a 500.100 status if there is a script error. It's been like for a very long time in previous versions of IIS and the behaviour hasn't changed.

If you want to catch Classic ASP script errors and be able to read the Server.GetLastError() object in your custom error page (say for logging) you need to provide a handler specifically for 500.100.

If you don't specify a custom 500.100 error then IIS will fall back to your custom (or its own) 500 error page but Server.GetLastError() won't provide any useful information about the error.