zoukankan      html  css  js  c++  java
  • Enterprise Library 4.1 ExceptionHandling Block 快速使用图文笔记

    此应用程序块,是对原始的异常,判断类型后进行封装,转换,处理等动作的处理。

    一,下载并安装好Enterprise Library 4.1

    二,新建一个Web应用程序

    三,右键点击Web.Config 文件 使用 Edit Enterprise Library Configuration 可以编辑Web.Config,添加一个异常程序块。

    image

    四,添加异常策略,并为异常策略添加异常类型

    image

    五,并为这个异常类型添加处理器Handler ,这里我们添加 Logging Handler,结果如下

    image

    六,几个重要的概念(源自TerryLee)

    1.策略:

    确定一系列的异常类型是如何拦截并处理的

    每一个策略可以包含多个异常类型

    每个应用程序支持多个异常策略

    2.异常类型:

    可以使用Exception功能的异常类型应该是一个System.Exception类型或从此类继承下来的类

    每一个异常类型可以包含一个或多个Handler

    每一个异常均可以通过映射到.NET中的特定类型,从而被处理

    3.处理器Handler:

    异常捕获后进行处理的方式有日志,包装,替换等;

    每一个异常类型可以有多个异常处理器;

    每一个异常捕获处理器均有机会修改原有异常;

    每一个异常捕获处理器均有机会将自己的信息通过异常传递给下一个异常处理程序;

    实际上,这个异常块的核心内容就是,在异常策略定义何种异常使用什么方法进行处理,1:N,对异常的转换,封装,写日志什么。

    七,配置日志程序块

    FormaterType :使用文本形式

    LogCategory:选择默认的Ganeral,这样会像事件查看器中写日志

    日志块部分,主要是定义Trace Listeners 这个节点

    image

    八,添加引用,这里要引用三个组件

    image

    image

    九,编写代码

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    using Microsoft.Practices.EnterpriseLibrary.ExceptionHandling;
    
    
    namespace ExceptionHandlingBlock
    {
        public partial class _Default : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
    
            }
    
            protected void Button1_Click(object sender, EventArgs e)
            {
                try
                {
                    Exception ex = new Exception();
                    throw ex;
                }
                catch (Exception ex)
                {
                    bool Flag = ExceptionPolicy.HandleException(ex, "Exception Policy");
    
                    if (Flag)
                    {
                        Response.Write("异常抛出,请查看系统日志");
                    }
                }
    
            }
        }
    }

    十,添加生成事件脚本,复制Config,没有Config会报错

    copy "$(ProjectDir)\*.config" "$(TargetDir)"

    image

    十一,运行结果,打开系统日志:

    image
    示例源码下载:EL41Sample.rar
    Enterprise Library 4.1 目录:Enterprise Library 4.1 快速使用图文笔记 目录 适合初学者

    冯瑞涛
  • 相关阅读:
    python学习--函数
    python学习--变量
    python学习--运算符
    python学习--数据类型
    python学习--循环语句
    年轻不言失败
    《zero to one》读后感
    进程与线程
    JS----模块化
    js 一个等号"=" 二个等号"==" 三个等号"===" object.is()的区别
  • 原文地址:https://www.cnblogs.com/finehappy/p/1578038.html
Copyright © 2011-2022 走看看