BaseBusiness静态方法相关的操作

2017-02-27 10:27:08  访问(1685) 赞(0) 踩(0)

using System;
using System.Collections.Generic;
using System.Text;
using SlowX.Core.Entity;
using SlowX.DAL.Helpers;
using System.Data;

using System.Reflection;
using SlowX.Core.Classes;
using SlowX.Core.Functions;
using SlowX.Core.IBusiness;
using SlowX.DAL.Classes;
using SlowX.Core.ICoreClasses;
using SlowX.Core.Common;
using SlowX.Core.Model;
using SlowX.Core.CreateCodeClasses;
using SlowX.Core.DataSourceItems;
using SlowX.DAL.Functions;
using SlowX.Core.CacheContainers;
using SlowX.Core.CoreClasses;
using SlowX.DAL.DataBaseHelpers;
using SlowX.DAL.Utils;

namespace SlowX.Core.Business
{
    /// <summary>
    /// 逻辑操作实体
    /// _:原子操作
    /// s:SQL操作
    /// q:快速操作
    /// c:通俗操作
    /// </summary>   
    public partial class BaseBusiness 
    {
        // 静态方法相关的操作 //

        /// <summary>
        /// 添加BaseBusiness实体
        /// </summary>
        public readonly static Dictionary<string, BaseBusiness>
            BaseBusinessInstanceDictionary
            =
            new Dictionary<string, BaseBusiness>();

        /// <summary>
        /// 添加BaseBusiness实体
        /// </summary>
        /// <param name="bll"></param>
        public static void InsertBaseBusinessInstanceDictionary
            (
                BaseBusiness bll
            )
        {
            if (bll == null)
                return;

            try
            {
                lock (CodeLock.instance)
                {
                    string className = bll.GetType().FullName;

                    if (BaseBusinessInstanceDictionary.ContainsKey(className))
                    {
                        BaseBusinessInstanceDictionary[className] = bll;
                    }
                    else
                    {
                        BaseBusinessInstanceDictionary.Add(className, bll);
                    }
                }
            }
            catch
            {
            }
        }

        /// <summary>
        /// 获得静态的BaseBusiness
        /// </summary>
        /// <param name="className"></param>
        /// <returns></returns>
        public static BaseBusiness StaticGetBaseBusiness(string className)
        {
            if (BaseBusinessInstanceDictionary == null)
                return null;

            if (className == null || className.Length == 0)
                return null;

            if (BaseBusinessInstanceDictionary.ContainsKey(className))
                return null;

            return BaseBusinessInstanceDictionary[className];
        }

        /// <summary>
        /// 清空所有缓存
        /// </summary>
        public static void StaticClearAllCache()
        {
            Dictionary<string, BaseBusiness> theList 
                = 
                BaseBusinessInstanceDictionary;

            lock (CodeLock.instance)
            {
                foreach (BaseBusiness bll in theList.Values)
                {
                    if (bll == null)
                        continue;

                    try
                    {
                        bll.ClearCache();
                    }
                    catch
                    {
                    }
                }
            }
        }
    }

}


标签:BaseBusiness静态方法相关的操作 

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)
 
  ┈全部┈  
 
(显示默认分类)