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); }
调用反射方法。