我的異常處理在一個方法的一個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。我真的很喜歡** for循環**的想法使用** InnerException **。你有沒有找到一些代碼來拉這些IIS錯誤代碼? – jp2code 2014-03-28 14:00:08
僅供參考:您的代碼忽略顯示任何對「Server.ClearError();的調用」;如果那不在那裏,您應該添加它。 – jp2code 2014-03-28 14:03:22