Я обработки исключений с HttpModule
способом, например, как это:Как я могу получить код подстановки IIS из исключения?
int errorCode = 500;
HttpApplication httpApp = (HttpApplication)sender;
try
{
if (httpApp.Server != null)
{
Exception ex;
for (ex = httpApp.Server.GetLastError(); ex != null; ex = ex.InnerException)
{
try
{
HttpException httpEx = ex as HttpException;
if (httpEx != null)
errorCode = httpEx.GetHttpCode();
// ... retrieve appropriate content based on errorCode
}
catch { }
}
}
Для HTTP status codes (например: 302, 404, 503 и т.д.) все работает отлично. Однако, для IIS status codes (например: 401.5, 403.4 и т. Д.), Может ли GetHttpCode
получить их, поскольку его возвращаемое значение является целым числом?
+1. Мне очень нравится ** идея loop ** с использованием ** InnerException **. Вы когда-нибудь находили немного кода, чтобы вытащить эти коды ошибок IIS? – jp2code
FYI: ваш код пренебрег, чтобы показать любой вызов 'Server.ClearError();' Если этого нет, вы должны добавить его. – jp2code