WEB开发网
开发学院软件开发C语言 AOP的两个应用:实体集更新(DateEntityListUpdate... 阅读

AOP的两个应用:实体集更新(DateEntityListUpdate)、延迟加载(LazyLoad)(上)

 2010-09-30 21:02:56 来源:WEB开发网   
核心提示: LazyLoadableProperty类//***//模块:延迟加载的上下文属性//日期:2009-9-1914:09:46//作者:Faib//版权:CopyrightFaibStudio2009//官网:http://www.faib.net.cn//邮箱:faib920@126.com/

LazyLoadableProperty类

//*******************************************************************
// 模块:延迟加载的上下文属性
// 日期:2009-9-19 14:09:46
// 作者:Faib
// 版权:Copyright Faib Studio 2009
// 官网:http://www.faib.net.cn
// 邮箱:faib920@126.com
// 备注:
//*******************************************************************
using System;
using System.Runtime.Remoting.Messaging;
using System.Runtime.Remoting.Contexts;
namespace FaibClass.Data.Aspect
{
    /// <summary>
    /// 延迟加载的上下文属性。
    /// </summary>
    internal class LazyLoadableProperty : IContextProperty, IContributeObjectSink
    {
        void IContextProperty.Freeze(Context newContext)
        {
        }
        string IContextProperty.Name
        {
            get { return LazyLoadableAttribute.propertyName; }
        }
        bool IContextProperty.IsNewContextOK(Context newCtx)
        {
            LazyLoadableProperty property = 
                newCtx.GetProperty(LazyLoadableAttribute.propertyName) as LazyLoadableProperty;
            if (property == null)
            {
                return false;
            }
            return true;
        }
        IMessageSink IContributeObjectSink.GetObjectSink(MarshalByRefObject obj, IMessageSink nextSink)
        {
            IMessageSink sink = new LazyLoadableSink(obj, nextSink);
            return sink;
        }
    }
}

上一页  1 2 3 4 5 

Tags:AOP 两个 应用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接