예제 #1
0
        public IEntityProviderOP GetOP(LoginInfo user, DataProvider datasource)
        {
            /* liang  2013-4-10 临时去掉使用缓存的 服务的功能,为调试报
             * if (_CacheObject != null)
             * {
             *  //(_CacheObject as CertifiedProviderOP).Account = user;
             *  //(_CacheObject as CertifiedProviderOP).DataProvider = datasource;
             *
             *  CertifiedProviderOP _cp = _CacheObject as CertifiedProviderOP;
             *  if (_cp != null) //如果是认证的服务,则检查是否是同一个登录用户;如果缓存的和当前登录的不一致,则不使用缓存的对象
             *  {
             *      if ((_cp != null) && (_cp.Account != null) && (_cp.Account.User != null) && (user != null) && (user.User != null))
             *      {
             *          //if ((_cp.Account.User.UserID == user.User.UserID) && (_cp.Account.User.OrgId == user.User.OrgId))只要是同一个组织,就可以用缓存
             *         if (_cp.Account.User.OrgId == user.User.OrgId)
             *          {
             *              return _CacheObject; ;
             *          }
             *      }
             *  }
             *  else
             *  {
             *      return _CacheObject;
             *  }
             * }
             */
            IEntityProviderOP op = null;
            var opType           = CustomOPType;

            try
            {
                op = (IEntityProviderOP)Activator.CreateInstance(opType, user, datasource);
            }
            catch (Exception ex)
            {
                LogManager.LogException(ex);
            }

            _CacheObject = op;
            return(op);
        }
예제 #2
0
        public IEntityProviderOP GetOP(LoginInfo user, DataProvider datasource)
        {
            if (_CacheObject != null)
            {
                //(_CacheObject as CertifiedProviderOP).Account = user;
                //(_CacheObject as CertifiedProviderOP).DataProvider = datasource;
                //return _CacheObject; ;
                CertifiedProviderOP _cp = _CacheObject as CertifiedProviderOP;
                if (_cp != null) //如果是认证的服务,则检查是否是同一个登录用户;如果缓存的和当前登录的不一致,则不使用缓存的对象
                {
                    if ((_cp != null) && (_cp.Account != null) && (_cp.Account.User != null) && (user != null) && (user.User != null))
                    {
                        //if ((_cp.Account.User.UserID == user.User.UserID) && (_cp.Account.User.OrgId == user.User.OrgId))只要是同一个组织,就可以用缓存
                        if (_cp.Account.User.OrgId == user.User.OrgId)
                        {
                            return(_CacheObject);;
                        }
                    }
                }
                else
                {
                    return(_CacheObject);
                }
            }
            IEntityProviderOP op = null;

            try
            {
                op = (IEntityProviderOP)Activator.CreateInstance(OPType, user, datasource);
            }
            catch (Exception ex)
            {
                LogManager.LogException(ex);
            }

            _CacheObject = op;
            return(op);
        }