/// <summary>
        /// 根据IRepositoryConsumer生成Repository
        /// </summary>
        /// <param name="rf"></param>
        /// <param name="consumer"></param>
        /// <returns></returns>
        public static IRepository GenerateRepository(this IRepositoryFactory rf, IRepositoryConsumer consumer)
        {
            if (consumer == null)
            {
                throw new ArgumentNullException("consumer");
            }

            return(rf.GenerateRepository(consumer.RepositoryCfgName));
        }
        //private static Dictionary<string, IRepository> s_reps = new Dictionary<string, IRepository>();

        //private const int releaseTime = 600000;
        //private static void OnTimer(object stateInfo)
        //{
        //    foreach(IRepository rep in s_reps.Values)
        //    {
        //        if (rep.Session != null && rep.Session.IsConnected)
        //        {
        //            stateTimer.Change(releaseTime, Timeout.Infinite);
        //        }
        //        else
        //        {
        //            rep.Destruct();
        //        }
        //    }
        //}

        ///// <summary>
        ///// 生成默认Repository
        ///// </summary>
        ///// <returns></returns>
        //public IRepository GenerateRepository()
        //{
        //    return GenerateRepository((string)null);
        //}

        /// <summary>
        /// 根据IRepositoryConsumer生成Repository
        /// </summary>
        /// <param name="consumer"></param>
        /// <returns></returns>
        public IRepository GenerateRepository(IRepositoryConsumer consumer)
        {
            if (consumer != null)
            {
                return(GenerateRepository(consumer.RepositoryCfgName));
            }
            else
            {
                return(GenerateRepository((string)null));
            }
        }