public override Boolean IsAbnormalExceptionTimeout(Exception ex) { if (ex == null) { return(false); } var exception = ex as DbException; if (exception == null) { return(false); } Int32 errorCode = ExceptionUtil.GetDbExceptionErrorCode(exception); String errorCodes = timeoutMarkDownBean.MySqlErrorCodes; if (!String.IsNullOrEmpty(errorCodes)) { var result = SplitUtil.SplitAsInt32(errorCodes); if (result.Contains(errorCode)) { return(true); } } return(ExceptionUtil.IsTimeoutException(ex)); }
/// <summary> /// 自动mark down,怎么区分? /// </summary> /// <param name="allInOneKey"></param> public static void AutoMarkDownADatabase(String allInOneKey) { lock (lockObj) { markDownDatabases[allInOneKey] = markdownBean.EnableAutoMarkDown ? MarkDownEnums.AutoMarkDown : MarkDownEnums.FakeAutoMarkDown; var schedules = SplitUtil.SplitAsInt32(markdownBean.AutoMarkUpSchedule).ToArray(); //排序 Array.Sort <Int32>(schedules); markingUpDatabases[allInOneKey] = new MarkUpInfo() { PreMarkUp = false, MarkDownTime = DateTime.Now, CurrentMarkUpIndex = 0, MarkUpSchedules = schedules, MarkUpSuccess = new Int32[schedules.Length], MarkUpFail = new Int32[schedules.Length], CurrentMarkUpSchedule = 0, CurrentBatch = 1, MarkUpArray = MarkUpInfo.InitMarkUpArray(schedules[0]) }; } }