IsLine FrameWork系列之十--ExceptionProcessProvider异常框架(下)

异常展示

系统异常模块除了记录功能,还有一个很重要的功能:异常展示,即系统发生异常后,展示给用户怎样的页面。展示给用户友好页面具有以下必要性:

展示给用户友好页面,可以降低用户焦虑感,提高用户体验。

将系统异常隐藏,避免代码、路径等技术信息外泄,提高系统安全性。

将系统运行时异常统一管理,有助于提高软件整体质量,便于整体把控。

友好页面的展示类型也是根据配置节点信息完成的,管理员只需更改配置节点中的枚举值,即可改变用户体验页面,用户体验页面共有10中方式,分别是抛出原始异常信息、抛出定制异常信息、抛出简单信息(不包含异常)以及隐藏异常信息等方式。

在系统开发阶段,可以使用抛出原始异常信息的展现方式,系统部署后,可以使用抛出简单信息(不包含异常)或隐藏异常信息的方式,选择这些展示方式的同时,还可以选择是否记录到日志介质。

各种异常展示的配置信息大全,假如有一个页面代码如下:

代码

try
       {
         string i = "i";
         Response.Write(i);
       }
       catch (Exception ex)
       {
         ILException ile = new ILException();
         ile.WriteLog(ex);
       }

正常访问页面显示字符串“i”,假如代码修改如下,便会发生错误:

代码

try
       {
         string i = "i";
         Response.Write(Convert.ToInt32(i));
       }
       catch (Exception ex)
       {
         ILException ile = new ILException();
         ile.WriteLog(ex);
       }

根据以下不同配置信息,页面有不同的显示,这个显示方式根据web.config给出的键值决定:

<add key="IsLine.ExceptionProcess.Configuration.ProcessStyle" value="ThrowOriginalWithLog"/>

其中,value可以为以下枚举值:

ThrowOriginalWithLog

这种方式的含义是抛出原始错误,终止应用程序,并将这种错误记录到异常日志中。

图1 原始错误

时间: 2024-11-08 20:15:45

IsLine FrameWork系列之十--ExceptionProcessProvider异常框架(下)的相关文章

IsLine FrameWork系列之九--ExceptionProcessProvider异常框架(上)

接上文 IsLine.ExceptionProcess.ExceptionProcessProvider命名空间: 系统日志和系统异常是分开记录的,ILFW将系统日志与异常分开处理,以提高系统灵活性和安全性.ExceptionProcessProvider是应用程序需要交互的主要组件,它用来产生异常消息,产生的异常消息并不直接显示,还要预先经过Layout的格式化处理后才会输出. 概述: 异常模块依附于IsLine.AppLog.AppLogProvider部分,同时异常模块设计时是作为一种特殊

ASP.NET企业开发框架IsLine FrameWork系列之十

ExceptionProcessProvider异常框架(下) 异常展示 系统异常模块除了记录功能,还有一个很重要的功能:异常展示,即系统发生异常后,展示给用户怎 样的页面.展示给用户友好页面具有以下必要性: 展示给用户友好页面,可以降低用户焦虑感,提高用户体验. 将系统异常隐藏,避免代码.路径等技术信息外泄,提高系统安全性. 将系统运行时异常统一管理,有助于提高软件整体质量,便于整体把控. 友好页面的展示类型也是根据配置节点信息完成的,管理员只需更改配置节点中的枚举值,即可改变 用户体验页面,

ASP.NET企业开发框架IsLine FrameWork系列之十五--框架配置信息大全(下)

三.IsLine.ExceptionProcess 部分 这部分主要管理异常,对异常的管理分为两部分,异常记录和异常展现,你可以分开对其进行配置, 即异常的记录与展现之间互不影响. 关于异常记录: <add key="IsLine.ExceptionProcess.Configuration.RenderName" value="OracleUsingSPRender"/> 使用该信息指定记录异常的节点,"OracleUsingSPRender

ASP.NET企业开发框架IsLine FrameWork系列之十二

使用Session.Cookie与安全支持 今天来介绍IsLine.HttpContent.HttpContentProvider命名空间中关于Session与Cookie的支持. 这是IsLine FrameWork中一个常用的组件,使用这个组件可以为整站程序提供统一的Cookie配置属性 ,例如Cookie加密方式.是否HttpOnly.是否打开https安全选项.以及默认作用域.CookieProvider是 该命名空间下的类,在该类初始化时,会自动加载web.config文件中的 Coo

IsLine FrameWork系列之十二--使用Session、Cookie与安全支持

今天来介绍IsLine.HttpContent.HttpContentProvider命名空间中关于Session与Cookie的支持. 这是IsLine FrameWork中一个常用的组件,使用这个组件可以为整站程序提供统一的Cookie配置属性,例如Cookie加密方式.是否HttpOnly.是否打开https安全选项.以及默认作用域.CookieProvider是该命名空间下的类,在该类初始化时,会自动加载web.config文件中的 Cookie节点配置,读取成功后会加载于整个web站点

ASP.NET企业开发框架IsLine FrameWork系列之十四--框架配置信息大全(中)

上文中讲到配置日志模块的第二步,这篇文章继续给大家介绍日志配置方法. Step 3.在</configSections>后加入:(注意,以下配置与Step 2中的sectionGroup一一对应) 代码 <IsLine.AppLog.Configuration> <FileRender> <AppenderStyle>File</AppenderStyle> <AppenderType>Text</AppenderType>

ASP.NET企业开发框架IsLine FrameWork系列之八--AppLogProvider日志框架(下)

上面的配置实例是按照将日志写入文本文件来配置的(节点具体含义见上文),程序调用 AppLogProvider时,需要进行实例化,在实例化过程中指定使用哪个Render,不同的实例对应不同的配置 信息,就可以对应不同的等级.记录介质,如下: 开发框架IsLine FrameWork系列之八--AppLogProvider日志框架(下)-"> 图 6 构造函数配置效果 如上图所示,使用前先实例化一个日志实例,实例化时有6中内置方式可以选择,我们刚配置了File节 点信息,所以在这里选择&quo

ASP.NET企业开发框架IsLine FrameWork系列之三--七种武器

IsLine FrameWork Provider介绍 其中IsLine.Data.IsLine.AppLog是我要重点介绍的,不过现在先来简单说说各个Provider的作用. DataProvider 与其他框架一样,DataProvider为项目提供了与数据库交互的能力,它的优点在这里不再阐述,这里 只说一下它与其他框架的数据访问层不同的地方. DataProvider同时兼容SQL SERVER与ORACLE两种数据库,并开放IDBOperater接口,用户只要实现 IDBOperater

ASP.NET企业开发框架IsLine FrameWork系列之九

ExceptionProcessProvider异常框架(上) IsLine.ExceptionProcess.ExceptionProcessProvider命名空间: 系统日志和系统异常是分开记录的,ILFW将系统日志与异常分开处理,以提高系统灵活性和安全性. ExceptionProcessProvider是应用程序需要交互的主要组件,它用来产生异常消息,产生的异常消息并不 直接显示,还要预先经过Layout的格式化处理后才会输出. 概述: 异常模块依附于IsLine.AppLog.App