讨论交流:http://x8.maicoo.com/team/8759.html
说到AOP在cnblogs上也有不少关于实现的文章,所以这次就不描述具体实现;有兴趣可以下载组件源码了解,当然组件只是一个初型并不会有什么强大的功能,也可能存在比较多的问题。
这几天由于项目移交给测试人员测试,因此空闲的时间比较多;为了不浪费这些时间所以想到用Remoting透明代理机制做一个简单的AOP组件,顺便也学习Remoting中透明代理的实现和运用。刚开始做还是挺痛头的,因为本机的MSDN并没有充足的帮助。于是就到cnblogs和Google搜了一下,找到一编不错的文章:http://www.rsdn.ru/article/dotnet/cntxtvsrealproxy.xml。把资料整理和清楚一下思路就开始干活。实现过程大概花了一个工作日吧,主要实现了以下对象:
AopProxyAttribute派生于ProxyAttribute
AopRealProxyy派生于RealProxy
/// <summary>
/// 拦载对象描述接口
/// </summary>
public interface ICutiner
{
/// <summary>
/// 执行方法的源对象
/// </summary>
object Source
{
get;
}
/// <summary>
/// 执行方法的参数集
/// </summary>
object[] Args
{
get;
}
/// <summary>
/// 方法执行前拦载过程
/// </summary>
void Executing();
/// <summary>
/// 方法执行后拦载过程
/// </summary>
/// <param name="returnvalue">返回值</param>
/// <returns>处理后的返回</returns>
object Executed(object returnvalue);
&n
【责任编辑: lanier】