private DOCollection GetPropertyValue()
        {
            _rm    = (ResourceManage)_p.GetValue(ParameterKey.RESOURCE_MANAGER);
            _token = (TransactionToken)_p.GetValue(ParameterKey.TOKEN);
            DOCollection rtn = null;

            lock (lockobj)
            {
                rtn = GetCache(_p.PropertyName);
                if (rtn == null)
                {
                    Init(_p);
                    var action = GetSourceDefinition(_p.PropertyName);
                    if (action != null)
                    {
                        CacheSetting setting = new CacheSetting();
                        rtn = action.Invoke(setting);

                        if (setting.IsCache)
                        {
                            SetCache(_p.PropertyName, rtn, setting.CacheExpiration, setting.CacheSlidingExpiration);
                        }
                    }
                    After(_p);
                }
            }
            return(rtn);
        }
 /// <summary>
 /// 写入缓存
 /// </summary>
 /// <param name="propertyname"></param>
 /// <param name="value"></param>
 /// <param name="expiration"></param>
 /// <param name="sliding_expiration"></param>
 public virtual void SetCache(string propertyname, DOCollection value, DateTime expiration, TimeSpan sliding_expiration)
 {
     if (expiration != null && expiration != DateTime.MinValue)
     {
         GlobalCommon.ApplicationCache.Set(this.GetType().FullName + "." + propertyname + "." + InstanceID, value, expiration);
     }
     else if (sliding_expiration != null && sliding_expiration != TimeSpan.Zero)
     {
         GlobalCommon.ApplicationCache.Set(this.GetType().FullName + "." + propertyname + "." + InstanceID, value, sliding_expiration);
     }
 }
Esempio n. 3
0
 /// <summary>
 /// 写入缓存
 /// </summary>
 /// <param name="propertyname"></param>
 /// <param name="value"></param>
 /// <param name="expiration"></param>
 /// <param name="sliding_expiration"></param>
 public virtual void SetCache(string propertyname, DOCollection value, DateTime expiration, TimeSpan sliding_expiration)
 {
     HttpRuntime.Cache.Insert(this.GetType().FullName + "." + propertyname + "." + InstanceID, value, null, expiration, sliding_expiration);
 }