关于c# 发射的调用并进行缓存

private static object CreateObject(string AssemblyPath, string classNamespace)
        {
            object objObject = DataCache.GetCache(classNamespace);
            if (objObject == null)
            {
                try
                {
                    objObject = Assembly.Load(AssemblyPath).CreateInstance(classNamespace);
                    DataCache.SetCache(classNamespace, objObject);
                }
                catch (Exception ex)
                {
                    string message = ex.Message;
                }
            }
            return objObject;
        }

c# 反射方法。

public class DataCache
    {
        public static object GetCache(string CacheKey)
        {
            return HttpRuntime.Cache[CacheKey];
        }

        public static void SetCache(string CacheKey, object objObject)
        {
            HttpRuntime.Cache.Insert(CacheKey, objObject);
        }
    }

缓存方法。

  public static ISysManage CreateSysManage()
        {
            string classNamespace = DataAccess.AssemblyPath + ".SysManage";
            return (ISysManage)DataAccess.CreateObject(DataAccess.AssemblyPath, classNamespace);
        }

调用反射方法。

 

你可能感兴趣的:(C#)