/// <summary> /// Call Method in the class /// </summary> /// <param name="classNameSpace"></param> /// <param name="method"></param> /// <param name="param"></param> /// <returns></returns> public object Invoke(string classNameSpace, string method, object[] param) { RemoteLoaderFactory factory = (RemoteLoaderFactory) ObjAppDomain.CreateInstance("MiniAbp", "MiniAbp.Compile.RemoteLoaderFactory") .Unwrap(); object objObject = factory.Create(_dllName, classNameSpace, null); if (objObject == null) { throw new ArgumentNullException("Error: " + "Couldn't load class."); } IRemoteInterface objRemote = (IRemoteInterface)objObject; //Initialize db configuration if (!IsIntialized) { lock (_initObjLock) { if (!IsIntialized) { var dbSetting = IocManager.Instance.Resolve <DatabaseConfiguration>(); objRemote.Initialize(dbSetting.ConnectionString, dbSetting.Dialect); IsIntialized = true; } } } return(objRemote.Invoke(method, param)); }