/// <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); } } } }
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"); } }
/// <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) { } } }
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(); } }
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); }
/// <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()); }
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()); }
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 } })); }
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; } }
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(); }
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()); }
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)); }
/// <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>()); }
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)); } }
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); }
/// <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); }
/// <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); }
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()); }