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