Exemple #1
0
        /// <summary>
        /// Called when the first node of a multi-instance site is starting up.
        /// </summary>
        public async Task InitializeFirstNodeStartupAsync()
        {
            if (YetaWF.Modules.Caching.Startup.Application.LockProvider != YetaWF.Modules.Caching.Startup.Application.RedisCacheProvider)
            {
                return;
            }
            // this is the first node, so clear all data
            IDatabase db = Redis.GetDatabase();

            string keyPrefix = WebConfigHelper.GetValue(YetaWF.Modules.Caching.Controllers.AreaRegistration.CurrentPackage.AreaName, "RedisKeyPrefix", Application.DefaultRedisKeyPrefix);

            System.Net.EndPoint endPoint = Redis.GetEndPoints().First();
            RedisKey[]          keys     = Redis.GetServer(endPoint).Keys(pattern: $"{keyPrefix}*").ToArray();
            //await db.ExecuteAsync("FLUSHALL");
            foreach (RedisKey key in keys)
            {
                if (!key.ToString().EndsWith(YetaWF.Core.Support.Startup.FirstNodeIndicator))  // don't remove the current first-time startup lock
                {
                    if (YetaWFManager.IsSync())
                    {
                        db.KeyDelete(key);
                    }
                    else
                    {
                        await db.KeyDeleteAsync(key);
                    }
                }
            }
        }
Exemple #2
0
        private static void Load(MailMessage mail, Types type, List <KeyValuePair <string, string> > fields)
        {
            string path = WebConfigHelper.Get("Basic.PhysicalPath") + WebConfigHelper.Get("Email.Folder") + type.ToString() + ".html";

            if (File.Exists(path))
            {
                StreamReader reader  = new StreamReader(path);
                var          subject = reader.ReadLine();
                var          body    = reader.ReadToEnd();
                foreach (var field in fields)
                {
                    body    = body.Replace("[" + field.Key.ToUpper() + "]", field.Value);
                    subject = subject.Replace("[" + field.Key.ToUpper() + "]", field.Value);
                }
                mail.IsBodyHtml = true;
                mail.Subject    = subject;
                mail.Body       = body;

                reader.Close();
            }
            else
            {
                throw new Exception("File not exists");
            }
        }
Exemple #3
0
 /// <summary>
 /// 构造函数
 /// </summary>
 private QuartzDataHandler()
 {
     if (_scheduler == null)
     {
         string quartzServer = WebConfigHelper.GetAppSettingValue("QuartzServer");
         if (string.IsNullOrEmpty(quartzServer))
         {
             quartzServer = "tcp://127.0.0.1:7005";
         }
         NameValueCollection properties = new NameValueCollection();
         properties["quartz.scheduler.instanceName"]    = "RemoteQuartzClient";
         properties["quartz.threadPool.type"]           = "Quartz.Simpl.SimpleThreadPool, Quartz";
         properties["quartz.threadPool.threadCount"]    = "5";
         properties["quartz.threadPool.threadPriority"] = "Normal";
         //远程调度配置
         properties["quartz.scheduler.proxy"]         = "true";
         properties["quartz.scheduler.proxy.address"] = string.Format("{0}/QuartzScheduler", quartzServer);
         try
         {
             ISchedulerFactory schedulerFactory = new StdSchedulerFactory(properties);
             IScheduler        scheduler        = schedulerFactory.GetScheduler();
             if (scheduler != null)
             {
                 _scheduler = new DefaultScheduler(scheduler);
                 _scheduler.StartScheduler();
                 _data = _scheduler.Data;
             }
         }
         catch (Exception ex)
         { }
     }
 }
Exemple #4
0
        public static IRunner CreateForWebRole(Role role, RoleIsolationMode isolation)
        {
            var args = WebConfigHelper.Create(role.Config);


            var assemblyPath = Path.GetDirectoryName(args.Assembly);

            if (HasBeenReBuilt(assemblyPath) && isolation == RoleIsolationMode.Thread)
            {
                isolation          = RoleIsolationMode.AppDomain;
                role.IsolationMode = isolation;
            }

            switch (isolation)
            {
            case RoleIsolationMode.Thread:
                return(new ThreadRunner(role, args.Assembly, args.ConfigurationPath, args.ServiceDefinitionPath, args.RoleName));

            case RoleIsolationMode.AppDomain:
                var setup = new AppDomainSetup
                {
                    ApplicationBase   = args.SiteBinDirectory,
                    ConfigurationFile = WebConfigHelper.DetermineWebConfigPath(args.Assembly)
                };
                return(new AppDomainRunner(role, setup, args.Assembly, args.ConfigurationPath, args.ServiceDefinitionPath, args.RoleName));

            default:
                throw new NotSupportedException();
            }
        }
Exemple #5
0
        private async Task AddExternalLinksAsync(List <ModuleAction> origList)
        {
            if (ExternalList == null)
            {
                List <ModuleAction> list = new List <ModuleAction>();
                string listFile          = WebConfigHelper.GetValue <string>(Controllers.AreaRegistration.CurrentPackage.AreaName, "ExternalList");
                if (!string.IsNullOrWhiteSpace(listFile))
                {
                    List <string> lines = await FileSystem.FileSystemProvider.ReadAllLinesAsync(listFile);

                    foreach (string line in lines)
                    {
                        if (!string.IsNullOrWhiteSpace(line) && !line.Trim().StartsWith("#"))
                        {
                            string[] parts = line.Trim().Split(new char[] { ',' }, 2);
                            if (parts.Length != 2)
                            {
                                throw new InternalError($"File {listFile} has an invalid menu entry - {line}");
                            }
                            string menu = parts[0].Trim();
                            string url  = parts[1].Trim();
                            list.Add(new ModuleAction {
                                LinkText = menu,
                                MenuText = menu,
                                Mode     = ModuleAction.ActionModeEnum.Any,
                                Url      = url,
                                Style    = ModuleAction.ActionStyleEnum.NewWindow,
                            });
                        }
                    }
                }
                ExternalList = list;
            }
            origList.AddRange(ExternalList);
        }
Exemple #6
0
        /// <summary>
        /// 下载附件
        /// </summary>
        /// <param name="attachId">附件Id</param>
        /// <returns></returns>
        public ActionResult DownloadAttachment(Guid attachId)
        {
            if (_Request == null)
            {
                _Request = Request;
            }
            string         errMsg     = string.Empty;
            Sys_Attachment attachment = CommonOperate.GetEntityById <Sys_Attachment>(attachId, out errMsg);

            if (attachment != null)
            {
                try
                {
                    string tempFile = string.Format("{0}{1}", Globals.GetWebDir(), attachment.FileUrl.ObjToStr().Replace(Globals.GetBaseUrl(), string.Empty));
                    if (WebConfigHelper.GetAppSettingValue("IsLinux") != "true")
                    {
                        tempFile = tempFile.Replace("/", "\\");
                    }
                    string ext = FileOperateHelper.GetFileExt(tempFile);
                    var    fs  = new System.IO.FileStream(tempFile, FileMode.Open);
                    if (fs != null)
                    {
                        return(File(fs, FileOperateHelper.GetHttpMIMEContentType(ext), Url.Encode(attachment.FileName)));
                    }
                }
                catch (Exception ex)
                {
                    return(Content("<script>alert('异常:" + ex.Message + "');</script>"));
                }
            }
            return(Content("<script>alert('找不到此文件!');</script>"));
        }
 public ActionResult Login()
 {
     if (!ToolOperate.IsNeedInit())                                                     //不需要初始化时
     {
         if (WebConfigHelper.GetAppSettingValue("NeedRepairTable") == "true")           //需要修复数据表
         {
             string        tables = WebConfigHelper.GetAppSettingValue("RepairTables"); //要修复的数据表
             List <string> token  = new List <string>();
             if (!string.IsNullOrEmpty(tables))
             {
                 token = tables.Split(",".ToCharArray()).ToList();
             }
             if (token.Count > 0)
             {
                 ToolOperate.RepairTables(token);
             }
         }
     }
     else //需要初始化
     {
         return(RedirectToAction("Init", "Page"));
     }
     ViewBag.IsShowValidateCode = (Session[LOGINERROR].ObjToInt() >= 2).ToString().ToLower();
     return(View());
 }
Exemple #8
0
        public static void AddODataLibAssemblyRedirection(this WebConfigHelper config)
        {
            XNamespace ns = "urn:schemas-microsoft-com:asm.v1";
            var        assemblyBinding = new XElement(ns + "assemblyBinding");

            var dependentAssembly = new XElement(ns + "dependentAssembly");

            assemblyBinding.Add(dependentAssembly);

            dependentAssembly.Add(new XElement(ns + "assemblyIdentity")
                                  .EnsureAttribute("name", "Microsoft.Data.Edm")
                                  .EnsureAttribute("publicKeyToken", "31bf3856ad364e35")
                                  .EnsureAttribute("culture", "neutral"));
            dependentAssembly.Add(new XElement(ns + "bindingRedirect")
                                  .EnsureAttribute("oldVersion", "0.0.0.0-5.0.2.0")
                                  .EnsureAttribute("newVersion", "5.0.2.0"));

            dependentAssembly = new XElement(ns + "dependentAssembly");
            assemblyBinding.Add(dependentAssembly);
            dependentAssembly.Add(new XElement(ns + "assemblyIdentity")
                                  .EnsureAttribute("name", "System.Spatial")
                                  .EnsureAttribute("publicKeyToken", "31bf3856ad364e35")
                                  .EnsureAttribute("culture", "neutral"));
            dependentAssembly.Add(new XElement(ns + "bindingRedirect")
                                  .EnsureAttribute("oldVersion", "0.0.0.0-5.0.2.0")
                                  .EnsureAttribute("newVersion", "5.0.2.0"));

            config.XElement.EnsureElement("runtime").Add(assemblyBinding);
        }
        public void Register()
        {
            // Get config file
#if MVC6
            string configFile = Startup.GetEnvironmentFile(Path.Combine(YetaWFManager.RootFolderWebProject, Globals.DataFolder), "NLog", "config", Optional: true);
#else
            string configFile = Path.Combine(YetaWFManager.RootFolder, Globals.DataFolder, NLogSettingsFile);
#endif
            if (configFile == null)
            {
                return;
            }

            bool useNlog = YetaWFManager.Syncify <bool>(async() => { // registration is sync by definition (this runs once during startup only)
                return(await FileSystem.FileSystemProvider.FileExistsAsync(configFile));
            });
            if (!useNlog)
            {
                return;
            }

            // register custom target (write to Sql table)
            Target.Register <YetaWFDBTarget>("YetaWFDB");

            LogManager.Configuration = new XmlLoggingConfiguration(configFile);

            MessageFormat = WebConfigHelper.GetValue <string>("YetaWF_Logging", NLogMessageFormat);
            MessageFormat = MessageFormat?.ToLower();
            MessageEvent  = WebConfigHelper.GetValue <bool>("YetaWF_Logging", NLogMessageEvent);

            // get logger
            Logger = NLog.LogManager.GetLogger("YetaWF");
        }
        /// <summary>
        /// 获取数据模型类型对应的数据层类型
        /// </summary>
        /// <param name="modelType"></param>
        /// <returns></returns>
        private static Type GetCustomeDALType(Type modelType)
        {
            string dalDll = "Rookey.Frame.DAL"; //默认数据层DLL
            //取自定义数据层类型
            string customerDAL = WebConfigHelper.GetAppSettingValue("DAL");

            if (!string.IsNullOrEmpty(customerDAL))
            {
                dalDll += string.Format(",{0}", customerDAL);
            }
            List <Type> tempTypes = new List <Type>();

            if (!string.IsNullOrEmpty(dalDll))
            {
                string[] token = dalDll.Split(",".ToCharArray());
                foreach (string dllName in token)
                {
                    var assembly = AssemblyLoadContext.Default.LoadFromAssemblyName(new AssemblyName(dllName));
                    tempTypes = assembly.DefinedTypes.Select(x => x.AsType()).ToList();
                }
            }
            List <Type> dalTypeList = new List <Type>();

            //过滤
            foreach (Type type in tempTypes)
            {
                if ((type.IsGenericType && type.Name.Contains("BaseDAL")) || (type.BaseType != null && type.BaseType.Name.Contains("BaseDAL")))
                {
                    dalTypeList.Add(type);
                }
            }
            return(dalTypeList.Where(x => x.Name == string.Format("{0}DAL", modelType.Name)).FirstOrDefault());
        }
Exemple #11
0
        public async Task <ActionResult> LoginDirectGet(string name, string password, Guid security)
        {
            Package package  = AreaRegistration.CurrentPackage;
            Guid    batchKey = WebConfigHelper.GetValue <Guid>(package.AreaName, "BatchKey");

            if (batchKey != security)
            {
                return(NotAuthorized());
            }

            LoginConfigData config = await LoginConfigDataProvider.GetConfigAsync();

            LoginModel model = new LoginModel {
                AllowNewUser     = config.AllowUserRegistration,
                RegistrationType = config.RegistrationType,
                RememberMe       = true,
                UserName         = name,
                Password         = password
            };

            ActionResult result = await CompleteLoginAsync(model, await LoginConfigDataProvider.GetConfigAsync(), useTwoStep : false);

            if (!model.Success)
            {
                Manager.CurrentResponse.StatusCode = 401;
            }
            return(new EmptyResult());
        }
        public List <RespondHeadButtonsViewModel> QueryHeadButtonsViewModelsByMenuID(RequestHeadButtonsViewModel request)
        {
            //TODO 配置每个单据的按钮权限后需清除缓存
            return(MemcacheHelper.Get(new RequestMemcacheParameter <List <RespondHeadButtonsViewModel> >
            {
                CacheKey = string.Format(PRE_CACHE_KEY, "QueryHeadButtonsViewModelsByMenuID"),

                #region ====================================
                CallBackFunc = () =>
                {
                    var parameter = new HeadButtonsParameter
                    {
                        MenuID = request.MenuID,
                        UserId = this.mSigninUser.UserID
                    };
                    var dataModels = this.mHeadButtonsDataAccess.QueryHeadButtonsViewModelsByMenuID(parameter);
                    var viewModels = dataModels.Select(model => new RespondHeadButtonsViewModel
                    {
                        ButtonDisabled = model.ButtonDisabled,
                        ButtonIconCls = model.ButtonIconCls,
                        ButtonName = model.ButtonName,
                        ButtonText = model.ButtonText
                    }).ToList();
                    return viewModels;
                },
                #endregion
                ExpiresAt = DateTime.Now.AddMinutes(WebConfigHelper.MemCachedExpTime()),
                ManageCacheKeyForKey = THISSERVICE_PRE_CACHE_KEY_MANAGE,
                ParamsKeys = new object[]
                {
                    request.MenuID,
                    this.mSigninUser.UserID
                }
            }));
        }
Exemple #13
0
        public JsonResult GetColumnFromSQL()
        {
            string     id   = QueryString("listId");
            ListConfig list = UnitOfWork.GetByKey <ListConfig>(id);

            list.CheckNotNull("ListConfig");
            string connName = WebConfigHelper.GetConnSettingNameByDBName(list.DBName);

            if (!string.IsNullOrEmpty(list.TableName) && !string.IsNullOrEmpty(connName))
            {
                string    sql       = string.Format("select top 1 * FROM {0}", list.TableName);
                SqlHelper sqlHelper = new SqlHelper(connName);
                var       dt        = sqlHelper.ExcuteTable(sql);

                List <string> colNames = new List <string>();
                foreach (DataColumn dc in dt.Columns)
                {
                    colNames.Add(dc.ColumnName);
                }

                if (colNames.Count() > 0)
                {
                    return(Json(colNames));
                }
            }

            return(Json(false));
        }
 public RespondWebViewData <RespondOnlineSigninUserViewModel> GetOnlineSigninUserByUserID_g(RequestOnlineSigninUserViewModel request)
 {
     return(MemcacheHelper.Get(() =>
     {
         var parameter = new OnlineSigninUserParameter
         {
             SGuid = request.SGuid,
             UserIP = request.AddressIP
         };
         var dataModel = this.mSiginUserDataAccess.GetOnlineSigninUserByUserID_g(parameter);
         if (dataModel == null)
         {
             return new RespondWebViewData <RespondOnlineSigninUserViewModel>(WebViewErrorCode.LoginRequired);
         }
         return new RespondWebViewData <RespondOnlineSigninUserViewModel>
         {
             rows = new RespondOnlineSigninUserViewModel
             {
                 UserID = dataModel.userid,
                 LoginName = dataModel.username,
                 SGuid = dataModel.sguid,
                 ExpTime = dataModel.exptime,
                 UserIP = dataModel.userip
             }
         };
     }, string.Format(preCacheKey, "GetOnlineSigninUserByUserID_g"),
                               DateTime.Now.AddMinutes(WebConfigHelper.MemCachedExpTime()),
                               false,
                               request.SGuid,
                               request.AddressIP));
 }
        /// <summary>
        /// 调度日志
        /// </summary>
        /// <returns></returns>
        public ActionResult GetQuartzLog()
        {
            var jobName  = Server.UrlDecode(Request["jobName"].ObjToStr());
            var jobGroup = Server.UrlDecode(Request["jobGroup"].ObjToStr());

            if (string.IsNullOrEmpty(jobName) || string.IsNullOrEmpty(jobGroup))
            {
                return(Json(null));
            }
            string   errMsg     = string.Empty;
            string   connString = WebConfigHelper.GetConnectionString("QuartzConnString");
            DateTime dtBefore   = DateTime.Now.AddDays(-7);

            dtBefore = DateTime.SpecifyKind(dtBefore, DateTimeKind.Utc);
            DateTimeOffset dtOffSet = dtBefore;
            long           ticks    = dtOffSet.UtcTicks;
            string         sql      = string.Format("SELECT * FROM QRTZ_FIRED_TRIGGERS WHERE FIRED_TIME>{0} AND JOB_NAME='{1}' AND JOB_GROUP='{2}' ORDER BY FIRED_TIME DESC", ticks, jobName, jobGroup);
            DataTable      dt       = CommonOperate.ExecuteQuery(out errMsg, sql, null, connString);

            if (dt != null && dt.Rows.Count > 0)
            {
                var list = dt.AsEnumerable().Cast <DataRow>().Select(x => new { jobName = x["JOB_NAME"].ObjToStr(), jobGroup = x["JOB_GROUP"].ObjToStr(), planName = x["TRIGGER_NAME"].ObjToStr(), planGroupName = x["TRIGGER_GROUP"].ObjToStr(), planExecTime = new DateTimeOffset(x["FIRED_TIME"].ObjToLong(), TimeSpan.Zero).LocalDateTime.ToString("yyyy-MM-dd HH:mm:ss") });
                return(Json(list));
            }
            return(Json(null));
        }
        /// <summary>
        /// 获取任务类型列表
        /// </summary>
        /// <returns></returns>
        public ActionResult GetJobTypeList()
        {
            string      jobTypeDll = WebConfigHelper.GetAppSettingValue("QuartzJob");
            List <Type> types      = Globals.GetAssemblyTypes(jobTypeDll);

            if (types == null)
            {
                types = new List <Type>();
            }
            List <Type> jobTypes = new List <Type>();

            foreach (Type tempType in types)
            {
                if (tempType.GetInterface("IJob") != null)
                {
                    jobTypes.Add(tempType);
                }
            }
            List <Type> frameTypes  = Globals.GetAssemblyTypes("Rookey.Frame.QuartzClient").Where(x => x.Namespace == "Rookey.Frame.QuartzClient.FrameJob" && x.GetInterface("IJob") != null).ToList();
            var         frameResult = frameTypes.Select(x => new { id = string.Format("{0},Rookey.Frame.QuartzClient", x.FullName), text = x.FullName }).ToList();
            var         result      = jobTypes.Select(x => new { id = string.Format("{0},{1}", x.FullName, jobTypeDll), text = x.FullName }).ToList();

            result.AddRange(frameResult);
            if (result.Count == 0)
            {
                return(Json(null));
            }
            return(Json(result));
        }
        private void AddLockedStatus(SiteDefinition siteDef)
        {
            string lockedForIP = WebConfigHelper.GetValue <string>("YetaWF_Core", "LOCKED-FOR-IP");

            if (!string.IsNullOrWhiteSpace(lockedForIP))
            {
                // web config
                siteDef.LockedExternal      = true;// locked by web config
                siteDef.LockedExternalForIP = lockedForIP;
            }
            else if (siteDef.Locked)
            {
                // user lock
                siteDef.LockedExternal = false;
                if (string.IsNullOrWhiteSpace(siteDef.LockedForIP) && HaveManager)
                {
                    siteDef.LockedForIP = Manager.UserHostAddress;
                }
            }
            else
            {
                // no lock
                siteDef.LockedExternal = false;
            }
            if (string.IsNullOrWhiteSpace(siteDef.LockedUrl))
            {
                siteDef.LockedUrl = SiteDefinitionDataProvider.LOCKEDURL;
            }
        }
Exemple #18
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            ControllerBuilder.Current.SetControllerFactory(new MFControllerFactory());

            AggregateCatalog aggregateCatalog = new AggregateCatalog();

            aggregateCatalog.Catalogs.Add(new DirectoryCatalog(AppDomain.CurrentDomain.SetupInformation.PrivateBinPath));
            MefDependencyResolver res = new MefDependencyResolver(new DisposableWrapperCatalog(aggregateCatalog, true));

            DependencyResolver.SetResolver(res);

            //dbconfig DatabaseInitializer Initialize
            var dbNameList = WebConfigHelper.GetDBNames();

            foreach (var dbName in dbNameList)
            {
                string initializerName = "{0}.DatabaseInitializer".ReplaceArg(dbName);
                Type   type            = ReflectionHelper.GetTypeBy(dbName, initializerName);
                if (type == null)
                {
                    continue;
                }
                type.InvokeMember("Initialize", System.Reflection.BindingFlags.InvokeMethod | System.Reflection.BindingFlags.Static
                                  | System.Reflection.BindingFlags.Public, null, null,
                                  new object[] { });
            }

            //MiniProfilerEF6.Initialize();
            //MF_Base.DatabaseInitializer.Initialize();
        }
Exemple #19
0
        public static IEnumerable <Dictionary <string, object> > GetMainTypeTree()
        {
            var       dbNames   = WebConfigHelper.GetDBNames();
            SqlHelper sqlHelper = new SqlHelper("Base");
            string    sql       = "";
            string    topId     = CommonStr.MainTypeTreeRootID;
            string    topName   = ConfigurationManager.AppSettings["AppTitle"];

            for (int i = 0; i < dbNames.Count(); i++)
            {
                string tmpSql = @"select  '{0}' as Id, '' as ParentId, '{1}' Text, '' as IconCls, 0 as OrderIndex, '' as DBName, '{0}' as FullId
                      union
                      select  '{2}' as Id, '{0}' as ParentId, '{2}' Text, '' as IconCls, 0 as OrderIndex, '{2}' as DBName, '{0}.{2}' as FullId
                      union 
                      select Id, case when ParentId is null then '{2}' else ParentId end ParentId,Text,IconCls,OrderIndex, DBName,FullId FROM MF_MainType where DBName = '{2}' ";
                sql += string.Format(tmpSql, topId, topName, dbNames[i]);

                if (i != dbNames.Count() - 1)
                {
                    sql += " union ";
                }
            }

            var dt = sqlHelper.ExcuteTable(sql);

            return(dt.ToDicList());
        }
Exemple #20
0
        public ActionResult FileUp(HttpPostedFileBase upfile)
        {
            if (_Request == null)
            {
                _Request = Request;
            }
            string path     = string.Empty;
            string fileName = upfile.FileName;
            string pathFlag = "\\";

            if (WebConfigHelper.GetAppSettingValue("IsLinux") == "true")
            {
                pathFlag = "/";
            }
            int s = fileName.LastIndexOf(pathFlag);

            if (s >= 0)
            {
                fileName = fileName.Substring(s + 1);
            }
            string fileType = Path.GetExtension(upfile.FileName);

            try
            {
                UploadFileManager.httpContext = _Request.RequestContext.HttpContext;
                path = UploadFile(upfile, "UEFile", "File");
            }
            catch (Exception ex)
            {
                return(Json(new { state = ex.Message }));
            }
            return(Json(new { state = "SUCCESS", url = path, fileType = fileType, original = fileName }));
        }
        /// <summary>
        /// 缓存用户Cookie数据
        /// </summary>
        /// <param name="userInfo">用户信息</param>
        /// <returns></returns>
        private void CacheUserData(UserInfo userInfo)
        {
            //客户端浏览器参数
            int w = _Request.QueryEx("w").ObjToInt();
            int h = _Request.QueryEx("h").ObjToInt();

            if (w > 0)
            {
                userInfo.ClientBrowserWidth = w;
            }
            if (h > 0)
            {
                userInfo.ClientBrowserHeight = h;
            }
            //获取客户端IP
            userInfo.ClientIP = WebHelper.GetClientIP(_Request);
            //缓存用户扩展信息
            UserInfo.CacheUserExtendInfo(userInfo.UserName, userInfo.ExtendUserObject);
            //用户票据保存
            int acount_expire_time = UserInfo.ACCOUNT_EXPIRATION_TIME;

            acount_expire_time = WebConfigHelper.GetAppSettingValue("ACCOUNT_EXPIRATION_TIME").ObjToInt();
            if (acount_expire_time <= 0)
            {
                acount_expire_time = UserInfo.ACCOUNT_EXPIRATION_TIME;
            }
            FormsPrincipal.Login(userInfo.UserName, userInfo, acount_expire_time, GetHttpContext(_Request));
        }
Exemple #22
0
 /// <summary>
 /// 获取临时实体类型集合
 /// </summary>
 /// <returns></returns>
 public static List <Type> GetTempModelTypes()
 {
     try
     {
         string tempModelPath = WebConfigHelper.GetAppSettingValue("TempModelPath");
         if (string.IsNullOrEmpty(tempModelPath))
         {
             tempModelPath = "TempModel";
         }
         string dllPath = string.Format(@"{0}{1}", Globals.GetBinPath(), tempModelPath);
         if (!Directory.Exists(dllPath)) //临时实体dll目录不存在
         {
             return(new List <Type>());
         }
         List <Type> list = new List <Type>();
         foreach (string dll in Directory.GetFiles(dllPath, "*.dll"))
         {
             //非程序集类型的关联load时会报错
             try
             {
                 var assembly = AssemblyLoadContext.Default.LoadFromAssemblyPath(dll);
                 list.AddRange(assembly.DefinedTypes.Select(x => x.AsType()).Where(x => x.Namespace == "Rookey.FrameCore.TempModel"));
             }
             catch
             { }
         }
         return(list);
     }
     catch { }
     return(new List <Type>());
 }
Exemple #23
0
 public JsonResult Compress(string folder = "CompressUploader", string title = "title")
 {
     lock (compress)
     {
         var fileBase = Request.Files[0];
         //源图路径
         string filePath = Server.MapPath(string.Format("/Uploaders/{0}", folder));
         if (!Directory.Exists(filePath))
         {
             Directory.CreateDirectory(filePath);
         }
         string newFileName = fileBase.FileName.Substring(fileBase.FileName.LastIndexOf(".") + 1);
         var    path        = Path.Combine(filePath, Path.GetFileName(DateTime.Now.ToString("yyyyMMddhhmmssffff") + "." + newFileName));
         //保存图片
         fileBase.SaveAs(path);
         string extendName = Path.GetExtension(path);
         //缩略图路径
         string thumbnailPath = string.Format("/Uploaders/{0}/{1}{2}{3}", folder, DateTime.Now.ToString("yyyyMMddhhmmssffff"), "_th", extendName);
         string serverPath    = Server.MapPath(thumbnailPath);
         ImageHelper.MakeThumbnail(path, serverPath, 64, 64, "Cut");
         if (System.IO.File.Exists(path))
         {
             System.IO.File.Delete(path);
         }
         var model = new ImageInfo()
         {
             Url    = thumbnailPath,
             Title  = title,
             Source = WebConfigHelper.GetAppSettingsInfo("ImgPath"),
             CTime  = DateTime.Now
         };
         var entity = _baseImgInfoService.Insert(model);
         return(Json(entity.ImageInfoId, JsonRequestBehavior.AllowGet));
     }
 }
Exemple #24
0
        public JsonResult ImgFile(string folder = "ImgUploader", string title = "title")
        {
            lock (imgLock)
            {
                var    fileBase       = Request.Files[0];
                string path           = string.Format("/Uploaders/{0}", folder);
                string newFileName    = fileBase.FileName.Substring(fileBase.FileName.LastIndexOf(".") + 1);
                string fileName       = Path.GetFileName(DateTime.Now.ToString("yyyyMMddhhmmssffff") + "." + newFileName);
                string fileServerPath = Server.MapPath(path);
                if (!Directory.Exists(fileServerPath))
                {
                    Directory.CreateDirectory(fileServerPath);
                }
                var filePath = Path.Combine(fileServerPath, fileName);
                //保存图片
                fileBase.SaveAs(filePath);

                var model = new ImageInfo()
                {
                    Url    = string.Format("{0}/{1}", path, fileName),
                    Title  = title,
                    Source = WebConfigHelper.GetAppSettingsInfo("ImgPath"),
                    CTime  = DateTime.Now,
                };
                var entity = _baseImgInfoService.Insert(model);
                return(Json(entity.ImageInfoId, JsonRequestBehavior.AllowGet));
            }
        }
 public virtual YetaWF.Core.Log.Logging.LevelEnum GetLevel()
 {
     if (_level == null)
     {
         _level = WebConfigHelper.GetValue <YetaWF.Core.Log.Logging.LevelEnum>("Logging", "MinLevel", YetaWF.Core.Log.Logging.LevelEnum.Trace);
     }
     return((YetaWF.Core.Log.Logging.LevelEnum)_level);
 }
        // IRESOURCE
        // IRESOURCE
        // IRESOURCE

        public bool IsBackDoorWideOpen()
        {
            if (backDoor == null)
            {
                backDoor = WebConfigHelper.GetValue <bool>(AreaRegistration.CurrentPackage.AreaName, "BACKDOOR-IS-WIDE-OPEN");
            }
            return((bool)backDoor);
        }
Exemple #27
0
        /// <summary>
        /// Get repository info from GitHub based on the passed in username
        /// </summary>
        public async Task <List <RepoResponse> > GetUserRepoInformation(string username)
        {
            string url = WebConfigHelper.GetUsersReposEndpoint(username);
            List <RepoResponse> userRepoResponse = await WebRequestHelper.GetResponseAsync <List <RepoResponse> >(url);

            // Order by star gazers count descending then take the top [x] amount as set in the web config.
            return(userRepoResponse.OrderByDescending(repo => repo.StargazersCount).Take(WebConfigHelper.GetNumberOfReposToDisplay()).ToList());
        }
        public ResponseModel <UploadImageDTO> UploadCommentImage(UploadImage ImageInfo)
        {
            var result         = new ResponseModel <UploadImageDTO>();
            var uploadImageDTO = new UploadImageDTO();

            try
            {
                result.error_code = Result.SUCCESS;
                if (string.IsNullOrWhiteSpace(ImageInfo.Base64) || string.IsNullOrWhiteSpace(ImageInfo.SuffixType))
                {
                    result.error_code = Result.ERROR;
                    result.message    = "参数无效";
                    return(result);
                }
                //string nnn = "%2f9j%2f4AAQSkZJRgABAQEAYABgAAD%2f2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz%2f2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz%2fwAARCABeAF8DASIAAhEBAxEB%2f8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL%2f8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4%2bTl5ufo6erx8vP09fb3%2bPn6%2f8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL%2f8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3%2bPn6%2f9oADAMBAAIRAxEAPwD5bHh2YNnj8GoOizg%2fdH51rC%2bUfw%2frTHutzZCNj61%2b9clj%2bA1XqvdGamlXCE9qkhtJU61e84lehHtuqXRNBvvE9%2bLSwsby%2fumBYQ20TSyEDqdqgmk7JXZadSb5UrtlJYJFPUD8akZHAGWFXdZ8JajoDYvdM1CzIPPnwPHj8wKzJUiLdT%2bBoTTV0TKEk%2bWasywY1%2fimQH0NMlaFV%2f1mT3x0qKRIiV5b86FhTH8VDb6E8sUK8q9iTUZO4dakCxjimvGCeM4qbvqPToMzikLc96cUo2H0NMZOtq2eeKSSzyfvmla6%2bagXB3df0rQz97oH2If3mrs%2fBPii9%2bEHwF%2bM%2fjjTb6607U%2fDvg%2bSDT7u3kMctvc3dzBbRurDkMN7EH2rjGucHrXqfhbSrWT9kPX%2fALfHHNYeJ%2fGej6RdxvyJoIUnunTH1VD%2bFZT5JTpwqK8XOCa7rmV191z7Xw8w862f0P7vNL7otr8bHy58Ov8AgrD%2b0DoSQq%2fxI1HVYo8AR6rZ2t8GHuZYyx%2fOvv8A%2fwCCS%2fx6vv8Agoz8RPEXhj4haT8Mp7rStOW%2btJH8KRh7r59rhijr0yOg71%2bRHjbwyfhf8S9Z0GRiw026eON%2bvmR5yjfipU19Yf8ABG749D4Oft1eELn7T5NvrBl0qfnAYSqcA%2f8AAgtf0vm3A%2fDuP4cxNbB4SlCuqblCUYRjK6XN0S3St8z9xnia6xcIYhuUL2aeq7dT9mPEH%2fBKH4feJAfP8H%2bFCex069u9O%2fQFhXnvjn%2fgjP4DttNlvH07xbpEMA3MdL1m3vBj%2fdnRT%2btfSdh8cbc%2f8vK5%2btS%2bIvi0niCxtNOiuFMmo31tbgA9QZVJ%2fQGv5IeBxlL3tbLV6y269bfgevieHcmru1TDQbf9yK%2fFJP8AE%2fJL9vD9l3Sv2SvjrdeFdI1m71i0t0B866iVJQ2ASDt4Iycf8BNeMeXlBXvn%2fBTHxS3i39rbxFOX3lJHQ89P3shH%2fjpFeAu7KOn616GUTqVMFTqVXeTVz%2bZ%2bMMLh8NnWJw%2bDjywjKyXa2%2b%2fncQx%2b1Ki4ambm96VN249a9JaHzWoCDLUhi%2bf%2fAOvUoPzGmZ5qtx8zQeUSeM%2fga6H9pbx3H8Lf2R%2fhTarLsl13xNqusSJn7wgtvsyk%2fQyfrWFB1r0XWLf4RfG%2fwJ4c0b4iaBqF7J4Zt5YrG5hu7i1a0MpUylGgf5txUH5426Vg8TDDYijiKsJThGV2oq7%2bGSWl19po%2fRfDDGYShms6uMqxprkaTk7K7cevpc%2fPT48%2bLofF%2fi2HVYyPPeMQz4P3tv3T%2bXH4CpfgV49fwT8VfDWrRttbT9Tt5wc9NsgJr7I8S%2f8ABKf4EfEaATeD%2fi94k8O3kh%2f1GswQXsan0UH7NIf%2fAB4%2fWvOfFH%2fBGv4h%2bHJPtHhrxb4J8TwowZI2uZtNuX5yDtmTyv8AyKa%2fZ%2bHvFDII0%2fqtWv7PS1qicNPWSS%2fE%2feKmB%2btL22FaqLvFqX5M%2fQDSv2uUlUN54%2bbn71elfs8%2ftF2fjH44eF7W71G1tbaC4ku3knnWNMxwyFVySBksVwO9bH%2fBGT%2fglxFH8PbDxp8UtPtdU8TaiGlstNuil5ZaVbq7RrKygtHPLIyOUzujCAPhty7f0V%2bLreHvgz8OLnUNX1G8tdNto%2fLEYuW2ynGFiSHPlknoF24%2bgBr8P4w8RMBRVfA5fTUocsouo3pqmm4%2bS6O%2bp7mFyyUUsRiJWtrb011PwF%2fao18eJf2hvFF4GDCW76g8cKoOPxBrz%2bQ1%2bin%2fAAUe%2fYe8N%2bMPg4fix4H0RvDupW9smoanpiWoto721ZlVphCvyxyxllLBMI8ZLgKVJf8AOmZctxz9K4uHcxo4vBQdH7KS%2fD9T%2bWuP8jxWX5vUqV9Y1nKpFrZqTb%2b9X1HZ%2bepVkCrz%2fKoQcNT3Py17u58QxMfPRnD%2fAHsfhR%2bNI%2fSmMkQ5b1r9Iv23%2fwBlX9n39i74ZeDdfm%2bHUviSXxRGu%2bzHji50%2b6QmJZDJHEYpd8QzhmyNpZBzu4%2fNxOWr9Nfj%2fL8EP2gv2r%2fg%2fwCMPEvxO8Har4N8P%2bHY9K17RpL8jyJ4I5ZYmwARJE8rqrhTn5B95WO35%2fN6nJiKLm5KCU21FyV7JWXutfLU%2fV%2fDHC4GvRxixUKcp3pKLqKDtdz5muZPyvbyOb8M%2fsM%2fBf43%2fAD4dePND8Iaz4bPiyTUZZ9PfxBNe7Vtbg2wQy7YyVY%2fOdqq2QozgNu7uH9gXSYfCgi0fzdFghJdPsqKvJ6lj1boPvZ6VB%2b0%2fwDts%2fCP9nPwD4D034SXeg%2bKtF0nUtSF1pNndOjWMN3L9pYxFhwBLuCjDKFO3jg1H4b%2fAOCwfwrutAEV7ZeLNMmK4aP7HHOAf94SD%2bVfC4zC5hi26sIzlTbfKm22lfTdt7dfxP2rA5zwtlVX6up0aVVJczioxT06NJL5J%2fI%2bhfhp4j0HSP2QlsfEWttoumQ%2bE9OgvL%2bKYxvB5NnFay4xyxFzBMhTnccrg7sV4%2f4P8J%2bOf25P2ZorjXL24tdT8IXzTeDtcuiY11qMH7tzbHcrL8iASHce3zYff5Td%2fwDBUP4Vz3kujPo%2fie98Naq0huXmsIHNk8mPMKRPKRLDLtUvCxT5gXV1YsG9kj%2f4KX%2fCmz0GJIPH%2fheCCCIJHBHpeqJLGoGAghFr5YwOAPNx%2ftYr5PM%2bFcXXrqWIhJQcWrWervpf%2fDuut%2btjpqZpkuZ1nJYuDpqLTSkle%2bqb12jumtb9eh2nx68capb%2fALJ2vXHjZdNstbXwfqv9qJaybreOWWxmtowD%2ftTzwLgEjc2ATwT%2bKoBxX1P%2b3b%2fwUOb9ojST4V8LRaha%2bGXmSa%2fvb1Vju9ZdP9WrRoWWKBCSVjDNlvmZmIUJ8ssCT%2f8AWr9Z4Ryqtg8O3WveVt97Lq%2fN3PwvxW4nwmZ4ujhsFLnjRTTl3btfXray12u2II8tSv0pynanNRDp1%2fWvrT8n3FUYNWbDSLnXo9UjsTay32nabPqiWTyMtxqEcADzJAAjB5Ei8yUqSMpC%2bMsApqt8wHy5%2fGut%2bEPgLXfiTdeJ9L0S08J%2bbcaFcR2WoavHYJc2GrsjLpX2C5nU3Ed612V8tLE%2faJCmFV9uBw5niJUMJUrw3jFtfJXt532tpfa63PoeF8upY%2fNqGDrJuM5JO3Z9fK27etlrZ7GXqMPgLT%2fDNxqFr8b%2fAIS6rNFbtNHY2qeIVuLpgMiJDLpKRhyeBvdVyeWA5rXh%2bGVtp%2bjW174i8ffDTwpBc6A3ipWutWudURdKF5HYi78zS7a8iwbyTyPK3%2bcjxvvjQDcfWbzxB%2b1F43PjTQ9f8R%2ftiaH4L0J%2fDUVtqc%2fhHxlBqHi6wsNL1CHVjbrFZXSW8t5dS28gF55aMgQzMroQNH4L%2fte%2bO%2fj%2fAKh%2bzvollY%2fHz4j%2bH9N8Fs58VeF4vFF7eRySeIdR06ea9TT9Y02WJLiOwjeOW5nlFukToLeXdmL4d8T4uV4UWr80VrbaUZSutFbbVPXRq17H7xT8JMohatiU3BRv7rkvevG8XeUr2u1eNlez1R4VcfDq81Lxn4Q0bwbfWXxRl8daNNruiv4OstSvWu7eG5ubaX9xNaQ3AZJLSbP7rGFBzivTPif%2bwn4t%2bEHw0h8V%2bJLu58OacmgQ63qMeteCPFVsdJdwSbea4h0uezRgcL89whBYb1jrtfFnwi8Z%2bMP2%2b73xLP4N%2bJVtpnh7RtZ8MNd%2fEfwx4t2X9lM81ssqXWor4stntIBJ5pnuILe1YSszQjJIsfHP9mrQtW%2bCHizSPhkfhh4k1jxd4NltL288NaHZ6lcaYs7Nm4UeHPh%2fFdSWTG3Kx3L3NvBM28YOznlxHFuL%2bqRq09Lpu%2bl3%2fE5YdtlFuVt%2fuLwnhLkzxlWFRNpNRSu7K3s%2bae93q5K19vvOR%2bHn%2fBO%2fxx8UfACeJtF1C1vNHl02DVYp4vBnjWRbqCYxhDbsmglbknzVOLcyfLuf7isw8%2b%2bKP7PWufDHx5H4VmvLO98VT6Lca7b6I2i6%2fpGpX1vCw3iCDU9NtHmfYJpAEBBW2mAO8KjdP%2byT4QsPCWpaTqvibx18JvDUeqt8K9etrfV5fAuvX32Wy8MRx3EklnrWpW82mFWkTFxFH9qwwMUbqSa8%2b8a%2fAzWtf8TaR4auLH4e%2bI9A1H4UeJ3%2fALRt7nw%2fr4%2b3XnivxG%2blR6VfGZla%2fmeRRHb2dyk0jo0bDKOF1xPFGNpV%2bVO8by6LpT50tu9420d4s2p%2bEmRTwt0nz%2fu7u7%2b3Kzdubpu3Zq0kdJrf7G3xn8OaTpF7e%2fCH4mpbarp0mpOY%2fCmpOdNRJpYil1%2fo4EMn7kybSc%2bW8bHG6rFr%2bx38RlTRrnVdDt%2fCOnazpP8Aba6h4r1CHw3aWtqJ3hkd5NQMAYxqizOsPmMsU0LEfvFB9K%2bIn7PHh7xh8HrvxRqf7Lnxcj8VXuqQ2Avbb4BeI7O%2bsLWDTEhg2wjxe3k2sKRoi4Y26FAv2YkFjV%2fZS0rTfAPifwiL%2fwCAHiXQ7Pw38LPPk1Lx1YwXdmXudR1YNpmuapc%2bGruPS7Wa2nnnW4jWwj8qYLcNcRsksetTi3FRpTaS5oyXTo6c5rrd7Jaau1lq0jzaXhFlM8RBOUlCUb%2fEr3U4xl9myW%2brdle7slc8S%2bKnwv1X4Q61ZWerXHhq8TV7dr7TbvRPEVhrNrqFpvKJco9rNJtjk2kp5gQsAeODjmHru%2f2u9c%2ftv40aH5ektLbw6PGF8U2v%2fCO3ek%2bJWEFvG62OoaJo%2bnQXsNoY%2fs25%2fMKGIoFg2sh4VjkV9fkeNq4rCRrVt7taeTa%2b%2fv59FsfjvGmSYfKs3qYPC35EotX31in92unl1e4FvlrA8Z%2bANL8eW6RalF5qJyBn8a2v%2bWdNZcgV6k4RmuWSuj5zD1alGaqUpNNdUcsnwd0WJUURMUj%2b6pCED%2fx2o4vgh4finkkS3aIzDa%2bzaNw%2fKuuPBprtgCsvqtH%2bVHd%2famMX%2fL1%2fec0fg1of2byDE7xZzsbaR%2f6DVaL4BeF4WJjsERiOSAp757iuwJyaVPvH%2fdpfVKP8qD%2b1calpVl95zOh%2fBPw1oO8w6dHuk%2b8WOM%2fliqlz%2bzp4Uu7oz%2fYNkhOfkbHP5V2h7fQUqNg0PB0GrOC%2b4hZvjoyc1Wld%2bbOUHwY0WO4SXbP5sQAVtwyuOnaov%2bFIeH95ZrZpCxy2%2fad36V2DnLUKcDnn09qf1Wj%2fAComOa4y%2fwDFf3mF4X8AaZ4NlZrCE2%2b8YKA8flW4vJpknD0sb4rWEIwXLFWRhWq1Ksueo7vuz%2f%2fZ";
                //过滤特殊字符即可
                string dummyData = ImageInfo.Base64.Trim().Replace("%", "").Replace(",", "").Replace(" ", "+");
                if (dummyData.Length % 4 > 0)
                {
                    dummyData = dummyData.PadRight(dummyData.Length + 4 - dummyData.Length % 4, '=');
                }
                //上传图片至服务器
                lock (imgLock)
                {
                    //string Base64 = ImageInfo.Base64.Replace(' ', '+');
                    string       path       = string.Format("/UploadImge/" + DateTime.Now.ToString("yyyyMMdd") + "/");
                    string       Base64     = System.Web.HttpUtility.UrlDecode(dummyData, System.Text.Encoding.UTF8); //UrlDecode解码
                    byte[]       imgByte    = Convert.FromBase64String(ImageInfo.Base64);
                    MemoryStream ms         = new MemoryStream(imgByte);
                    Image        image      = System.Drawing.Image.FromStream(ms);
                    string       fileName   = string.Format("{0}." + ImageInfo.SuffixType, DateTime.Now.ToString("yyyyMMddhhmmssffff") + Assistant.GetRandomNumber(6));
                    string       filePath   = string.Format("{0}{1}", path, fileName);
                    string       serverPath = HttpContext.Current.Server.MapPath("~" + path);
                    if (!Directory.Exists(serverPath))
                    {
                        Directory.CreateDirectory(serverPath);
                    }
                    //保存图片
                    image.Save(serverPath + fileName);
                    string    ImageUrl  = WebConfigHelper.GetAppSettingsInfo("ImageUrl");
                    BaseImage baseimage = _baseImageService.Insert(new BaseImage()
                    {
                        Title      = "H5点餐系统评价图片",
                        CreateTime = System.DateTime.Now,
                        Path       = filePath,
                        Source     = ImageUrl
                    });
                    uploadImageDTO.baseImageId = baseimage.BaseImageId;
                    uploadImageDTO.path        = ImageUrl + filePath;
                    result.data = uploadImageDTO;
                }
            }
            catch (Exception ex)
            {
                result.message = ex.Message;
            }
            return(result);
        }
Exemple #29
0
        /// <summary>
        /// 获取所有数据层接口类型
        /// </summary>
        /// <returns></returns>
        public static List <Type> GetAllDALInterfaceTypes()
        {
            List <Type> dalInterfaceTypeList = new List <Type>();

            if (cacheFactory != null && cacheFactory.Exists(cache_idalType))
            {
                dalInterfaceTypeList = cacheFactory.Get <List <Type> >(cache_idalType);
                if (dalInterfaceTypeList == null)
                {
                    dalInterfaceTypeList = new List <Type>();
                }
                return(dalInterfaceTypeList);
            }
            string idalDll = DEFAULT_IDAL_DLL; //默认数据层接口DLL
            //取自定义数据层接口类型
            string customerIDAL = WebConfigHelper.GetAppSettingValue("IDAL");

            if (!string.IsNullOrEmpty(customerIDAL))
            {
                idalDll += string.Format(",{0}", customerIDAL);
            }
            List <Type> tempTypes = new List <Type>();

            if (!string.IsNullOrEmpty(idalDll))
            {
                string[] token = idalDll.Split(",".ToCharArray());
                foreach (string dllName in token)
                {
                    string nameSpace = dllName == DEFAULT_IDAL_DLL ? "Rookey.Frame.IDAL" : null;
                    tempTypes.AddRange(GetTypesByDLL(dllName, nameSpace));
                }
            }
            //过滤
            foreach (Type type in tempTypes)
            {
                Type[] types = type.GetInterfaces();
                if (type.Name == "IBaseDAL`1")
                {
                    dalInterfaceTypeList.Add(type);
                    continue;
                }
                if (types == null || types.Length == 0)
                {
                    continue;
                }
                List <string> typeNames = types.Select(x => x.Name).ToList();
                if (typeNames.Contains("IBaseDAL"))
                {
                    dalInterfaceTypeList.Add(type);
                }
            }
            if (dalInterfaceTypeList.Count > 0 && cacheFactory != null)
            {
                cacheFactory.Set <List <Type> >(cache_idalType, dalInterfaceTypeList);
            }
            return(dalInterfaceTypeList);
        }
Exemple #30
0
        internal static MySqlDataReader ExcuteReader(string sqlCmd)
        {
            MySqlConnection con = new MySqlConnection(WebConfigHelper.GetConfig(DefineTable.DatabaseConstr));
            MySqlCommand    cmd = new MySqlCommand(sqlCmd);

            cmd.CommandType = CommandType.Text;
            cmd.Connection  = con;
            con.Open();
            return(cmd.ExecuteReader());
        }