NClay.Services功能简介

        NClay.Services提供基于接口服务方法的监控功能,编写主要目的用于WCFRemoting服务端的接口服务处理和跟踪。以下简单介绍组件aop功能,组件的aop方法描述非常简单定义拦载方法和原方法的参数、返回类型一致,通过attribute来描述其对应关系。

下面通过一个简单的例子来体现组件AOP功能。

定义一个接口服务

public interface ITest

    {

       

        int AddUser(string name,string pwd);

    }

服务的实现

    [NClay.Services.Service(typeof(ITest))]

    public class ITestImpl : ITest

    {

       

        #region ITest 成员

        public int AddUser(string name,string pwd)

        {

            return 0;

        }

 

        #endregion

    }

实现对ITest.AddUser方法的拦截功能

    [NClay.Services.AspectContainer]

    public class TestAspect

    {

       

        [NClay.Services.Aspect(typeof(ITest), "AddUser")]

        public int AddUserAspect(string name, string pwd)

        {

            Console.WriteLine(name);

            Console.WriteLine(pwd);

            Console.WriteLine("Executing");

            int value = (int)NClay.Services.MethodContext.Invoke<int>(name, pwd);

            Console.WriteLine(value);

            Console.WriteLine("Executed");

            return value;

        }

    }

对于调用这个服务方法的情况:

    class Program

    {

        static void Main(string[] args)

        {

           

            ITest it = NClay.Services.ServiceFactory.GetService<ITest>("");

            it.AddUser("henry","123");

           

        }

    }

结果:

henry

123

Executing

0

Executed

 

组件并没有完成还在开发过程所以暂时不提供下载

posted on 2008-05-12 21:23  henry  阅读(702)  评论(2编辑  收藏  举报

导航