Esempio n. 1
0
 //[Dependency]
 //public static ISysLogBLL logBLL { get; set; }
 /// <summary>
 /// 写入日志
 /// </summary>
 /// <param name="oper">操作人</param>
 /// <param name="mes">操作信息</param>
 /// <param name="result">结果</param>
 /// <param name="type">类型</param>
 /// <param name="module">操作模块</param>
 public static void WriteServiceLog(string oper, string mes, string result, string type, string module)
 {
     App.Models.Sys.siteconfig siteConfig = new App.BLL.SysConfigBLL().loadConfig(Utils.GetXmlMapPath("Configpath"));
     //后台管理日志开启
     if (siteConfig.logstatus == 1)
     {
         APP_Log o = new APP_Log();
         o.Message    = mes;
         o.LOGTYPE    = type;
         o.ModuleName = module;
         o.OPERATOR   = oper;
         o.LOGRESULT  = result;
         EntityProviderOP <APP_Log> _op = new EntityProviderOP <APP_Log>(null, DataProvider.GetEAP_Provider());
         int k = _op.Save(o);
         // UtilOP op=new UtilOP()
         //ValidationErrors errors = new ValidationErrors();
         //SysLog entity = new SysLog();
         //entity.Id = ResultHelper.NewId;
         //entity.Operator = oper;
         //entity.Message = mes;
         //entity.Result = result;
         //entity.Type = type;
         //entity.Module = module;
         //entity.CreateTime = ResultHelper.NowTime;
         //using (SysLogRepository logRepository = new SysLogRepository())
         //{
         //    logRepository.Create(entity);
         //}
     }
     else
     {
         return;
     }
 }
Esempio n. 2
0
 /// <summary>
 /// 全局的异常处理
 /// </summary>
 public void ExceptionHandlerStarter()
 {
     App.Models.Sys.siteconfig siteConfig = new App.BLL.SysConfigBLL().loadConfig(Utils.GetXmlMapPath("Configpath"));
     if (siteConfig.globalexceptionstatus == 1)
     {
         string            s      = HttpContext.Current.Request.Url.ToString();
         HttpServerUtility server = HttpContext.Current.Server;
         if (server.GetLastError() != null)
         {
             Exception lastError = server.GetLastError();
             // 此处进行异常记录,可以记录到数据库或文本,也可以使用其他日志记录组件。
             ExceptionHander.WriteException(lastError);
             Application["LastError"] = lastError;
             int    statusCode        = HttpContext.Current.Response.StatusCode;
             string exceptionOperator = siteConfig.globalexceptionurl;
             try
             {
                 if (!String.IsNullOrEmpty(exceptionOperator))
                 {
                     exceptionOperator = new System.Web.UI.Control().ResolveUrl(exceptionOperator);
                     string url    = string.Format("{0}?ErrorUrl={1}", exceptionOperator, server.UrlEncode(s));
                     string script = String.Format("<script language='javascript' type='text/javascript'>window.top.location='{0}';</script>", url);
                     Response.Write(script);
                     Response.End();
                 }
             }
             catch { }
         }
     }
 }
Esempio n. 3
0
        /// <summary>
        /// 加入异常日志
        /// </summary>
        /// <param name="ex">异常</param>
        public static void WriteException(Exception ex)
        {
            App.Models.Sys.siteconfig siteConfig = new App.BLL.SysConfigBLL().loadConfig(Utils.GetXmlMapPath("Configpath"));
            //后台异常开启
            if (siteConfig.exceptionstatus == 1)
            {
                //try
                //{
                //    using (DBContainer db = new DBContainer())
                //    {
                //        SysException model = new SysException()
                //        {
                //            Id = ResultHelper.NewId,
                //            HelpLink = ex.HelpLink,
                //            Message = ex.Message,
                //            Source = ex.Source,
                //            StackTrace = ex.StackTrace,
                //            TargetSite = ex.TargetSite.ToString(),
                //            Data =ex.Data.ToString(),
                //            CreateTime = ResultHelper.NowTime

                //        };
                //        db.SysException.AddObject(model);
                //        db.SaveChanges();
                //    }
                //}
                //catch (Exception ep)
                //{
                try
                {
                    string path    = @"~/exceptionLog.txt";
                    string txtPath = System.Web.HttpContext.Current.Server.MapPath(path);        //获取绝对路径
                    using (StreamWriter sw = new StreamWriter(txtPath, true, Encoding.Default))
                    {
                        sw.WriteLine((ex.Message + "|" + ex.StackTrace + "|" + ex.Message + "|" + DateTime.Now.ToString()).ToString());
                        sw.Dispose();
                        sw.Close();
                    }
                    return;
                }
                catch { return; }
                //}
            }
        }
Esempio n. 4
0
        /// <summary>
        /// 验证是否有单机限制
        /// </summary>
        /// <param name="account">用户信息</param>
        /// <returns>验证结果:true有限制,false没有</returns>
        public static bool ValidateRelogin(AccountModel account)
        {
            bool bResult = false;

            if (account != null)
            {
                App.Models.Sys.siteconfig siteConfig = new App.BLL.SysConfigBLL().loadConfig(Utils.GetXmlMapPath("Configpath"));
                if (siteConfig.issinglelogin == 1)
                {
                    if (IsChange(HttpContext.Current.Session.SessionID, account.Id))
                    {
                        //同一帐号已经在其他机子登录
                        bResult = true;
                        WritePage("同一帐号已经在其他机子登录!需要重新登录", "<a href='/Account'>Login</a>");
                    }
                }
            }
            return(bResult);
        }
Esempio n. 5
0
        private void ManagerFile(HttpContext context)
        {
            App.Models.Sys.siteconfig siteConfig = new App.BLL.SysConfigBLL().loadConfig(Utils.GetXmlMapPath("Configpath"));
            //String aspxUrl = context.Request.Path.Substring(0, context.Request.Path.LastIndexOf("/") + 1);

            //根目录路径,相对路径
            String rootPath = siteConfig.webpath + siteConfig.attachpath + "/"; //站点目录+上传目录
            //根目录URL,可以指定绝对路径,比如 http://www.App.com/attached/
            String rootUrl = siteConfig.webpath + siteConfig.attachpath + "/";
            //图片扩展名
            String fileTypes = "gif,jpg,jpeg,png,bmp";

            String currentPath    = "";
            String currentUrl     = "";
            String currentDirPath = "";
            String moveupDirPath  = "";

            String dirPath = Utils.GetMapPath(rootPath);
            String dirName = context.Request.QueryString["dir"];
            //if (!String.IsNullOrEmpty(dirName))
            //{
            //    if (Array.IndexOf("image,flash,media,file".Split(','), dirName) == -1)
            //    {
            //        context.Response.Write("Invalid Directory name.");
            //        context.Response.End();
            //    }
            //    dirPath += dirName + "/";
            //    rootUrl += dirName + "/";
            //    if (!Directory.Exists(dirPath))
            //    {
            //        Directory.CreateDirectory(dirPath);
            //    }
            //}

            //根据path参数,设置各路径和URL
            String path = context.Request.QueryString["path"];

            path = String.IsNullOrEmpty(path) ? "" : path;
            if (path == "")
            {
                currentPath    = dirPath;
                currentUrl     = rootUrl;
                currentDirPath = "";
                moveupDirPath  = "";
            }
            else
            {
                currentPath    = dirPath + path;
                currentUrl     = rootUrl + path;
                currentDirPath = path;
                moveupDirPath  = Regex.Replace(currentDirPath, @"(.*?)[^\/]+\/$", "$1");
            }

            //排序形式,name or size or type
            String order = context.Request.QueryString["order"];

            order = String.IsNullOrEmpty(order) ? "" : order.ToLower();

            //不允许使用..移动到上一级目录
            if (Regex.IsMatch(path, @"\.\."))
            {
                context.Response.Write("Access is not allowed.");
                context.Response.End();
            }
            //最后一个字符不是/
            if (path != "" && !path.EndsWith("/"))
            {
                context.Response.Write("Parameter is not valid.");
                context.Response.End();
            }
            //目录不存在或不是目录
            if (!Directory.Exists(currentPath))
            {
                context.Response.Write("Directory does not exist.");
                context.Response.End();
            }

            //遍历目录取得文件信息
            string[] dirList  = Directory.GetDirectories(currentPath);
            string[] fileList = Directory.GetFiles(currentPath);

            switch (order)
            {
            case "size":
                Array.Sort(dirList, new NameSorter());
                Array.Sort(fileList, new SizeSorter());
                break;

            case "type":
                Array.Sort(dirList, new NameSorter());
                Array.Sort(fileList, new TypeSorter());
                break;

            case "name":
            default:
                Array.Sort(dirList, new NameSorter());
                Array.Sort(fileList, new NameSorter());
                break;
            }

            Hashtable result = new Hashtable();

            result["moveup_dir_path"]  = moveupDirPath;
            result["current_dir_path"] = currentDirPath;
            result["current_url"]      = currentUrl;
            result["total_count"]      = dirList.Length + fileList.Length;
            List <Hashtable> dirFileList = new List <Hashtable>();

            result["file_list"] = dirFileList;
            for (int i = 0; i < dirList.Length; i++)
            {
                DirectoryInfo dir  = new DirectoryInfo(dirList[i]);
                Hashtable     hash = new Hashtable();
                hash["is_dir"]   = true;
                hash["has_file"] = (dir.GetFileSystemInfos().Length > 0);
                hash["filesize"] = 0;
                hash["is_photo"] = false;
                hash["filetype"] = "";
                hash["filename"] = dir.Name;
                hash["datetime"] = dir.LastWriteTime.ToString("yyyy-MM-dd HH:mm:ss");
                dirFileList.Add(hash);
            }
            for (int i = 0; i < fileList.Length; i++)
            {
                FileInfo  file = new FileInfo(fileList[i]);
                Hashtable hash = new Hashtable();
                hash["is_dir"]   = false;
                hash["has_file"] = false;
                hash["filesize"] = file.Length;
                hash["is_photo"] = (Array.IndexOf(fileTypes.Split(','), file.Extension.Substring(1).ToLower()) >= 0);
                hash["filetype"] = file.Extension.Substring(1);
                hash["filename"] = file.Name;
                hash["datetime"] = file.LastWriteTime.ToString("yyyy-MM-dd HH:mm:ss");
                dirFileList.Add(hash);
            }
            context.Response.AddHeader("Content-Type", "application/json; charset=UTF-8");
            context.Response.Write(JsonMapper.ToJson(result));
            context.Response.End();
        }