public CaseModel Func_ConfigParser()
        {
            return(new CaseModel()
            {
                NameSign = @"配置分析器",
                ExeEvent = () => {
                    GlobalSystemService GSS = GlobalSystemService.GetInstance();
                    SystemConfig sys_config = GSS.Config.Get <SystemConfig>();
                    UploadConfig upload_config = GSS.Config.Get <UploadConfig>();
                    URLReWriterConfig urlrew_config = GSS.Config.Get <URLReWriterConfig>();

                    sys_config.Is_DeBug = true;
                    sys_config.EncryptedUseString = @"SSSSSSYTS>jfiwjfi";

                    upload_config.File_Size = 43434;
                    upload_config.Watermark_Fontsize = 16;

                    GSS.Config.SaveALLConfig();

                    SystemConfig newsys_config = GSS.Config.Get <SystemConfig>();
                    newsys_config.Load();
                    if (newsys_config.EncryptedUseString != @"SSSSSSYTS>jfiwjfi")
                    {
                        Console.WriteLine("加密字符串错误");
                        throw new Exception("错误");
                        return false;
                    }
                    return true;
                },
            });
        }
예제 #2
0
        /// <summary>
        /// 获取模型数据-文件路径-目标
        /// </summary>
        /// <returns>文件绝对路径</returns>
        public string GetFilePath_Target(Model.URLReWriter model)
        {
            if (CheckData.IsObjectNull(model))
            {
                return(string.Empty);
            }
            // 需要指定生成路径文件夹目录
            Model.URLReWriterConfig curl = GlobalSystemService.GetInstance().Config.Get <Model.URLReWriterConfig>();
            string directory             = this.SelfDAL.GetSiteNamePathFolder(curl.RootPage);
            string path = PathHelp.CreateUseFilePath(directory, model.Target);

            return(path);
        }
예제 #3
0
        /// <summary>
        /// 重写 URL 路径
        /// </summary>
        /// <param name="uri">用户原始请求信息</param>
        /// <returns>重定向路径, 如果为空则不处理</returns>
        private string ReWriteURLPath(Uri uri)
        {
            BLL.WebSite bllsite   = new BLL.WebSite();
            string      site_name = bllsite.MatchSiteName(uri.AbsolutePath);

            Model.WebSite modelsite = bllsite.GetModel(site_name);
            if (CheckData.IsObjectNull(modelsite))
            {
                return(string.Empty);
            }

            BLL.URLReWriter   bllurl   = new BLL.URLReWriter(modelsite);
            Model.URLReWriter modelurl = bllurl.GetItem_RequestURI(uri.AbsolutePath);

            if (CheckData.IsObjectNull(modelurl))
            {
                string resource_file     = bllurl.GetResourceFilePath(uri.AbsolutePath, bllsite);
                string abs_resource_file = PathHelp.ToAbsolute(resource_file);
                if (File.Exists(abs_resource_file))
                {
                    return(resource_file);
                }

                // 当得到的对象 为空的时候,证明没有此数据内容,当然也就不用生成了
                return(string.Empty);
            }

            FileInfo FItemp = new FileInfo(bllurl.GetFilePath_Templet(modelurl));

            if (!FItemp.Exists)
            {
                // 模板文件都不存在的话,就不用生成了
                return(string.Empty);
            }

            SystemConfig sys_config = GlobalSystemService.GetInstance().Config.Get <SystemConfig>();
            FileInfo     FItarget   = new FileInfo(bllurl.GetFilePath_Target(modelurl));

            if (sys_config.Is_DeBug || !FItarget.Exists || FItemp.LastWriteTime > FItarget.LastWriteTime)
            {
                // 生成模板
                HtmlToAspx        hta = new HtmlToAspx();
                HtmlToAspx.Params par = hta.ParamsMerge(modelurl, FItemp, FItarget);
                hta.Generate(par);
            }

            return(bllurl.HTTPRedirectPath(uri, modelurl));
        }
 public CaseModel Func_SystemConfig()
 {
     return(new CaseModel()
     {
         NameSign = @"系统配置",
         ExeEvent = () => {
             SystemConfig sys_config = GlobalSystemService.GetInstance().Config.Get <SystemConfig>();
             Console.WriteLine("Config:");
             ShineUponParser parser = new ShineUponParser(typeof(SystemConfig));
             foreach (ShineUponInfo info in parser.GetDictionary().Values)
             {
                 KeyObject ko = parser.GetValue_KeyObject(info, sys_config);
                 Console.WriteLine("info.Name: {0}  ko.Key: {1}  ko.Value: {2}", info.Name, ko.Key, ko.Value);
             }
             return true;
         },
     });
 }
예제 #5
0
        /// <summary>
        /// HTTP 重定向路径
        /// </summary>
        /// <param name="uri">需要的原始路径各部分信息</param>
        /// <param name="urlmodel">需要的 URL 重定向模型</param>
        /// <returns>最终生成的重定向路径</returns>
        public string HTTPRedirectPath(Uri uri, Model.URLReWriter urlmodel)
        {
            if (CheckData.IsObjectNull(urlmodel))
            {
                return(string.Empty);
            }
            Model.URLReWriterConfig curl = GlobalSystemService.GetInstance().Config.Get <Model.URLReWriterConfig>();
            string directory             = this.SelfDAL.GetSiteNamePathFolder(curl.RootPage);

            Model.URLReWriter.RegularQuery rq = urlmodel.ReItems[0];
            if (CheckData.IsObjectNull(uri))
            {
                return(string.Format("{0}/{1}", directory, urlmodel.Target));
            }
            string querystr = Regex.Replace(uri.AbsolutePath, rq.Pattern, rq.QueryParameter);

            if (!CheckData.IsStringNull(uri.Query))
            {
                querystr = string.Format("{0}&{1}", querystr, uri.Query.TrimStart('?'));
            }
            string path = string.Format("{0}/{1}?{2}", directory, urlmodel.Target, querystr);

            return(path);
        }
예제 #6
0
 public string GetRootTemplatePathFolder()
 {
     Model.URLReWriterConfig curl = GlobalSystemService.GetInstance().Config.Get <Model.URLReWriterConfig>();
     return(string.Format("/{0}", PathHelp.ToPathSymbol(curl.RootTemplate)));
 }
예제 #7
0
 /// <summary>
 /// 重写: 获取 URL 重写路径配置文件文件夹路径
 /// </summary>
 public override string GetPathFolder()
 {
     Model.URLReWriterConfig curl = GlobalSystemService.GetInstance().Config.Get <Model.URLReWriterConfig>();
     return(GetSiteNamePathFolder(PathHelp.ToPathSymbol(curl.RootTemplate)));
 }