`
terryfeng
  • 浏览: 504194 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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 快速使用图文笔记 目录 适合初学者

分享到:
评论

相关推荐

    Microsoft EnterPrise Library 5.0安装包

    在Enterprise Library 5.0中,各种库如`PolicyInjection.dll`, `DataAccess.dll`, `ExceptionHandling.dll`等,都是实现特定功能的核心组件。将这些DLL直接引用到你的项目中,可以轻松利用Enterprise Library提供的...

    微软企业库(用于连接数据库的DLL文件)

    7. **Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging.dll**:这个模块是异常处理和日志记录的整合,当异常发生时,不仅可以进行处理,还能自动将异常信息记录到日志,提供更完整的错误跟踪信息。...

    [EntLib]微软企业库5.0 学习之路——第三步、为项目加上异常处理(采用自定义扩展方式记录到数据库中).doc

    - 首先,你需要在项目中引用Enterprise Library assemblies,包括`Microsoft.Practices.EnterpriseLibrary.ExceptionHandling`和`Microsoft.Practices.Unity`。 - 接下来,在应用程序配置文件(如web.config或app....

    06Exceptions_javaprogramming_ExceptionHandling_

    "06Exceptions_javaprogramming_ExceptionHandling_"这个主题显然关注的是Java语言中关于异常处理的概念和实践。 在Java中,异常是一种在程序执行期间发生的不正常条件,例如除以零、文件未找到或空指针引用等。...

    About Exceptions and Exception Handling

    当遇到下列情况时,程序会出现异常: 程序访问一个不可用的内存地址(例如,NULL指针); 无限递归导致的栈溢出; 向一个较小的缓冲区写入较大块的数据; 类的纯虚函数被调用;...

    aspnetcore-exceptionhandling

    AspNetCore.ExceptionHandling 此存储库是ASP.NET Core的常见异常处理模块。 支持的ASP.NET Core版本:5.0、3.1、3.0和2.2建造工具dotnet.exe命令行Visual Studio /代码用法自己构建库或导入NuGet包。 有关详细的...

    11_ExceptionHandling:第十一章

    项目名称:11_ExceptionHandling 取消选择“创建主类”复选框 结束 在“项目”窗口中右键单击项目->选择“ Git”->选择“远程”->选择“拉..”->下一步 选择“指定Git存储库位置” 远程名称:起源 资料库URL: : ...

    ExceptionHandling

    9. **try-catch-finally的性能影响**: 虽然异常处理提供了健壮性,但过度使用或不必要地使用`try-catch`块可能会对性能产生负面影响,因为每次检查异常都会消耗资源。 10. **过滤异常(Filtering Exceptions)**: ...

    C程序设计教学课件:CHAPTER13EXCEPTIONHANDLING.pptx

    在C++编程中,异常处理是...此外,通过使用多层`catch`块,可以处理不同类型的异常,或者对同一种类型的异常采取不同的处理策略。这使得C++程序员能够编写更加安全、可维护的代码,有效地处理运行时可能出现的问题。

    C++标准库(第二版)英文版.pdf

    The C++ Standard Library A Tutorial and Reference (2nd Edition)+cppstdlib-code.zip C++标准库(第二版)英文版.pdf 非扫描版+源代码 Prefaceto the SecondEdition xxiii Acknowledgments for the Second...

    AspQuestionnaire-开源

    AspQuestionnaire的实现还依赖于一系列的微软企业库组件,如`Microsoft.Practices.EnterpriseLibrary.Logging.dll`、`Microsoft.Practices.EnterpriseLibrary.Data.dll`和`Microsoft.Practices.ExceptionHandling....

    sr_notes_aaa

    【标题】"sr_notes_aaa"是一个以Java编程语言为主题的笔记文档集合,旨在帮助学习者理解和掌握Java技术。从标题可以看出,这可能是某位开发者或讲师整理的一系列关于Java编程的入门级笔记,可能涵盖了从基础概念到...

    Node.js C++ 插件学习指南.docx

    "VCCLCompilerTool": { "ExceptionHandling": 1 }, } } ] } ``` #### 四、Node-pre-gyp Node-pre-gyp 是另一个工具,它允许开发者预编译 C++ 插件,并将其作为 npm 包发布,以便用户在不同平台上安装时无需...

    httpclient-tutorial.pdf

    4.1. 用户凭证:涉及用户身份验证的基本信息。 4.2. 认证方案:介绍不同的认证方案,如基本认证、摘要认证等。 4.3. HTTP认证参数:讲解如何配置HTTP认证参数。 4.4. 认证方案注册:介绍如何注册认证方案。 4.5...

    iOS崩溃日志收集

    在iOS应用开发中,收集崩溃日志是一项至关重要的任务,它可以帮助开发者及时发现并修复应用程序在实际使用过程中遇到的问题。当iOS应用发生崩溃时,系统会自动生成一份崩溃日志,记录了错误发生的上下文信息,包括...

    javatutorials.zip

    Java教程压缩包“javatutorials.zip”显然包含了与Java编程相关的教学材料,可能是为了帮助初学者或有经验的开发者深入理解这门广泛使用的编程语言。Java是一种多平台、面向对象的语言,以其“写一次,到处运行”的...

    获取计算机信息(C#)

    在编程领域,C#是一种广泛使用的面向对象的编程语言,尤其在开发Windows应用程序和游戏时。本项目聚焦于使用C#获取计算机的基本信息,包括IP地址、登录用户名、物理内存、MAC地址和CPU ID等核心硬件和网络信息。这些...

    spring-security-helloworld-annotation

    使用`http.exceptionHandling()`可以定义Spring Security处理未授权(401)和未找到(403)错误的方式。例如,我们可以自定义错误页面或者全局异常处理器。 6. **记住我功能** Spring Security的`...

    c#数据库实际应用100例

    通过阅读和分析源码,可以快速提升C#数据库编程技能。 【文件名称列表】:“C#实例程序”可能包含一系列以C#编写的数据库应用案例,例如: 1. "InsertData.cs" - 这个程序展示了如何在C#中插入数据到数据库,使用...

Global site tag (gtag.js) - Google Analytics