1. 在Nuget中安装KingAOP

2. 日志DEMO

    public class Test : IDynamicMetaObjectProvider
{
[LogAspec]
public void TestMethod()
{
Console.WriteLine("输出正文来呀");
throw new ArgumentNullException("user name could not be null");
} public DynamicMetaObject GetMetaObject(System.Linq.Expressions.Expression parameter)
{
// need for AOP weaving
return new AspectWeaver(parameter, this);
}
} public class LogAspec : OnMethodBoundaryAspect
{
public override void OnEntry(MethodExecutionArgs args)
{
Console.WriteLine("OnEntry: Hello KingAOP");
}
public override void OnException(MethodExecutionArgs args)
{ Console.WriteLine("OnException: Hello KingAOP"); }
public override void OnSuccess(MethodExecutionArgs args)
{
Console.WriteLine("OnSuccess: Hello KingAOP");
} public override void OnExit(MethodExecutionArgs args)
{
Console.WriteLine("OnExit: Hello KingAOP");
}
}
public class LoggingHelper
{
private const String _errLogFilePath = @"D:\log.txt"; public static void WriteLine(String message)
{ var logContent = string.Format("[{0}]{1}\r\n", DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), message);
File.AppendAllText(_errLogFilePath, logContent); }
}

3. 调用DEMO

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; namespace WebApplication2
{
class Program
{
static void Main(string[] args)
{
dynamic test = new Test();
try
{
test.TestMethod();
}
catch (Exception ex)
{ } Console.Read();
} }
}

C# 使用KingAOP面向切面编程的更多相关文章

  1. AOP 面向切面编程, Attribute在项目中的应用

    一.AOP(面向切面编程)简介 在我们平时的开发中,我们一般都是面对对象编程,面向对象的特点是继承.多态和封装,我们的业务逻辑代码主要是写在这一个个的类中,但我们在实现业务的同时,难免也到多个重复的操 ...

  2. AOP面向切面编程的四种实现

     一.AOP(面向切面编程)的四种实现分别为最原始的经典AOP.代理工厂bean(ProxyFacteryBean)和默认自动代理DefaultAdvisorAutoProxyCreator以及Bea ...

  3. spring入门(四)【面向切面编程】

    开发过程中很多时候会用到日志.事务等操作,这些操作如果要写在业务代码中会相当麻烦,这时就会用到面向切面编程(AOP),AOP作为一种编程思想,和OOP有着不同的侧重点,面向对象侧重于万事万物皆对象,而 ...

  4. 面向切面编程AOP

    本文的主要内容(AOP): 1.AOP面向切面编程的相关概念(思想.原理.相关术语) 2.AOP编程底层实现机制(动态代理机制:JDK代理.Cglib代理) 3.Spring的传统AOP编程的案例(计 ...

  5. Spring-AOP面向切面编程

    AOP是面向切面编程,区别于oop,面向对象,一个是横向的,一个是纵向. 主要解决代码分散和混乱的问题. 1.概念: 切面:实现AOP共有的类 通知:切面类中实现切面功能的方法 连接点:程序被通知的特 ...

  6. AOP 面向切面编程

    AOP http://blog.csdn.net/xiang_j2ee/article/details/6851963 Android 支持 AspectJ 这个库来实现面向切面编程. 使用 Apac ...

  7. 关于面向切面编程Aspect Oriented Programming(AOP)

    最近学到spring ,出来了一个新概念,面向切面编程,下面做个笔记,引自百度百科. Aspect Oriented Programming(AOP),面向切面编程,是一个比较热门的话题.AOP主要实 ...

  8. Javascript aop(面向切面编程)之around(环绕)

    Aop又叫面向切面编程,其中“通知”是切面的具体实现,分为before(前置通知).after(后置通知).around(环绕通知),用过spring的同学肯定对它非常熟悉,而在js中,AOP是一个被 ...

  9. 简单理解——面向切面编程(AOP)

    在传统的编写业务逻辑处理代码时,我们通常会习惯性地做几件事情:日志记录.事务控制及权限控制等,然后才是编写核心的业务逻辑处理代码.当代码编写完成回头再看时,不禁发现,扬扬洒洒上百行代码中,真正用于核心 ...

随机推荐

  1. SAP R3和JAVA交换数据之JCO

    SAP Java Connector (JCo)     SAP的JAVA中间件,使用它可以使SAP的客户和合作伙伴使用JAVA语言轻松地建立可以和SAP系统通信的兼容的组件和应用程序下面是JCo一些 ...

  2. JavaScript 高程三读书笔记;

    1. 在使用 <script> 嵌入 JavaScript 代码时,记住不要在代码中的任何地方出现 "</script>" 字符串. 例如,浏览器在加载下面 ...

  3. android 批量上传图片

    额外还需要NetUtil和服务器端UpLoadPicture package com.example.girdviewtest; import java.util.ArrayList;import j ...

  4. python学习笔记(9)--Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法

    Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法 这篇文章主要介绍了Python UnicodeEncodeErro ...

  5. BlueZ--内核层+应用层

    BlueZ 1.Kernel层实现: bluetooth协议栈有多层结构,最底层的硬件协议在硬件中就已经实现了.软件级别的协议实现,从HCI这一层开始实现. BlueZ对各层协议的实现是依托于Sock ...

  6. ajax——用ajax写登陆页面

    ajax.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...

  7. 示例 - C#脚本代码采集搜狐NBA球员, 球队和比赛实况

    最近 @甜瓜 (QQ:1069629945) 开发了一套NBA数据采集脚本, 我觉得很赞. 经他允许发布出来和大家分享一些经验: 球员球队: http://data.sports.sohu.com/n ...

  8. 处理器拦截器(HandlerInterceptor)详解

    处理器拦截器(HandlerInterceptor)详解 编程界的小学生 关注 2017.04.06 15:19* 字数 881 阅读 657评论 0喜欢 4 简介SpringWebMVC的处理器拦截 ...

  9. 第二百六十节,Tornado框架-内置模板方法

    Tornado框架-内置模板方法 直接在html文件使用,不需要传值 Tornado默认提供的这些功能其实本质上就是 UIMethod 和 UIModule,也就是Tornado框架定义好的html文 ...

  10. 【vijos】1006 晴天小猪历险记之Hill(dijkstra)

    https://vijos.org/p/1006 连边后跑点权的最短路 注意连边的时候左端点可以连到下一行的右端点,右端点可以连到下一行的左端点 #include <cstdio> #in ...