文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 国产软件 | 国外软件 | 汉化补丁 | 设为首页 | 加入收藏
业界资讯 | 图形图像 | 操作系统 | 网络冲浪 | 工具软件 | 办公软件 | 媒体动画 | 精文荟萃 | 认证考试 | 网站建设 | 技术开发 | 专栏
当前位置:abcdown网络学院网络编程Asp.Net在 ASP.NET 中用匿名委托简单模拟 AOP 做异常和日志处理
精品广告
推荐TOP10
·asp.net创建文件夹的IO类的问题
·ASP.NET 2.0 多文件上传小经验
·asp.net常用代码
·Asp.net cache 简述
·技巧实例:ASP.NET生成静态页面实现方法
·ASP.NET、JSP及PHP之间的抉择
·.net基础知识错误注意二十二点知识
·asp.net2.0学习历程 菜鸟到中级程序员的飞跃
·.NET基础知识-什么是.NET
·初学C#+ASP.NET+Oracle时积累的备忘点滴
阅读TOP10
·使用ASP.NET2.0的ReportViewer查看RDLC报表
·打造一个通用ASP.NET数据分页控件
·asp.net结合html,javascript实现无刷新跨域数据提交
·Asp.Net中使用水晶报表
·ASP.NET2.0下含有DropDownList的GridView编辑、删除的完整例子!
·ASP.NET 2.0 多文件上传小经验
·Asp.net cache 简述
·用http代理下载sourceforge的cvs仓库[原理+C#代码]
·asp.net常用代码
·利用.net反射动态调用指定程序集的中的方法

在 ASP.NET 中用匿名委托简单模拟 AOP 做异常和日志处理

日期:2006年12月17日 作者: 查看:[大字体 中字体 小字体]


这两天写 ASP.NET 写晕了,老想偷点懒。由于在后台的代码里几乎每个方法里都要 try..catch 这么来一遍,感觉很烦琐。又联想到 AOP, 但 AOP 的做法相对比较复杂,做法也很多。比如用 Dynamic Proxy, Attribute, 或者 Emit 等。我忽然联想到了 C# 2.0 的新特性匿名委托,觉得这个虽然丑一点。。。不过其实也可以比较轻量级的简单模拟 AOP 的效果:

// asp.net 里面强制做一个页面基类的要求是不过分的。。。
public partial class TestLogger: PageBase {
    protected void Page_Load(object sender, EventArgs e) {
        // 这个方法实现在页面基类里面,可以往里面实现通用的异常处理,日志逻辑等。
        TryDo(
            // 这个里面干实际的事情
            delegate() {
                int a = 1;
                int b = 0;
                int c = a / b;
            },
            // 这是一个可选的异常处理,如果传递一个 null 就会干脆忽略异常
            delegate() {
                Response.Write("Sorry, 发生了一个错误。");
            }
        );
    }
}
在页面基类里面的实现代码就很简单了,也可以方便的统一管理。这里我假定仅仅简单的用 log4net 来对异常做日志记录:
using System;
using System.Web.UI;
using log4net;

namespace SomeNamespace {
    // 定义一个简单的委托用于传递匿名委托
    public delegate void MyAction();
   
    // 定义页面基类
    public class PageBase : Page {
        protected ILog logger;

        // 页面基类里面集中处理所有异常处理逻辑

[1] [2] [3] 下一页 

上一篇:巧用Photoshop通道去除人像照片面部油光

下一篇:Asp.Net中使用水晶报表


相关软件: 相关文章:
·英文感谢信模板
·用层模拟下拉列表框
·ACPI电源管理模式详解
·使用div仿javascript模态窗口
·JavaScript自定义模式对话框
·QQ空间最新大图模块:清纯少女
·让Windows XP开始菜单变模样

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.abcdown.net
首页 | 本站声明 | 下载帮助 | 发布软件 |
中文版权所有:ABC学院 浙ICP备05000717号