public static void InstallUpdate() { if (ApplicationDeployment.IsNetworkDeployed) { ApplicationDeployment ad = ApplicationDeployment.CurrentDeployment; if (info.UpdateAvailable) { try { ad.Update(); if (OnUpdateSuccess != null) { OnUpdateSuccess(); OnUpdateFail = null; OnUpdateSuccess = null; } } catch (DeploymentDownloadException dde) { LoggerManager.Error(dde, "Update deployement failed"); if (OnUpdateFail != null) { OnUpdateFail(); OnUpdateFail = null; OnUpdateSuccess = null; } } } } }
/// <summary> /// 保存自定义引流标签 /// </summary> /// <param name="productUserId"></param> /// <param name="tags"></param> /// <returns></returns> public ResultModel Save(long productUserId, IList <string> tags) { if (tags == null || tags.Count > 2) { return(ResultCode.Error.GetResultModel()); } if (!_yinLiuTagBll.Value.Delete(productUserId)) { return(ResultCode.Error.GetResultModel()); } if (tags.Any())//为空,则代表删除 { var sort = 0; foreach (var tag in tags) { sort++; try { _yinLiuTagBll.Value.Add(new YinLiuTagEntity() { CreatedTime = DateTime.Now, Name = tag, Type = PublicEnum.YinLiuTagTypeEnum.Custom, ProductUserId = productUserId, Sort = sort }); } catch (Exception ex) { LoggerManager.Error(GetType().Name, "添加引流标签异常", ex); } } } return(ResultCode.Success.GetResultModel()); }
protected override void OnProcess(Action.IAction action) { KeyboardAction keyboardAction = action as KeyboardAction; if (keyboardAction == null) { return; } LoggerManager.Debug(action.AutomationActionData); HtmlElement element = this.GetData(action) as HtmlElement; if (element == null) { LoggerManager.Error("Element Not Found"); throw new ElementNoFoundException("Element Not Found", action); } if (keyboardAction.KeyDown) { this.Call <HtmlElement>(Down, element); } if (keyboardAction.KeyUp) { this.Call <HtmlElement>(Up, element); } }
protected override void OnProcess(IAction action) { base.OnProcess(action); LoggerManager.Debug(action.AutomationActionData); TextAction textAction = action as TextAction; HtmlElement element = GetData(action) as HtmlElement; if (element == null) { LoggerManager.Error("Element Not Found"); throw new ElementNoFoundException("Element Not Found", action); } string value = null; if (!string.IsNullOrEmpty(textAction.Attrbute)) { value = element.GetAttribute(textAction.Attrbute); } if (!string.IsNullOrEmpty(textAction.AttrbuteRegex)) { Match match = Regex.Match(value, textAction.AttrbuteRegex, RegexOptions.IgnoreCase); if (match.Success) { value = match.Groups[1].Value; } } this.SaveData <string>(textAction.TextSaveKey, value); }
public override async Task Execute() { if (!await Aria.Start()) { LoggerManager.Fatal("Could not start aria"); return; } LoggerManager.Info("Aria2 is up and running"); var links = await Hltv.GetLinks(true); await Hltv.SetProcessing(links.Id); foreach (var linkId in links) { try { var result = await Aria.AddUri(new[] { new Uri(linkId.Url) }); Storage.SaveLinkId(linkId.Id, links.Id, linkId.Url, result.Value); } catch (Exception e) { LoggerManager.Error(e, "Error adding URI and saving linkId"); continue; } } }
protected override void OnProcess(Action.IAction action) { SendKeyAction sendKeyAction = action as SendKeyAction; if (sendKeyAction == null) { return; } LoggerManager.Debug(action.AutomationActionData); HtmlElement element = this.GetData(action) as HtmlElement; if (element == null) { LoggerManager.Error("Element Not Found"); throw new ElementNoFoundException("Element Not Found", action); } this.Call <HtmlElement>(delegate(HtmlElement e) { e.Focus(); SendKey(sendKeyAction); }, element); }
public async virtual Task <T> Get <T>(string url, object data) { if (data != null) { var strParams = FormatUrlParams(data); if (url.Contains("?")) { url += "&" + strParams; } else { url += "?" + strParams; } } HttpClient client = new HttpClient(); try { var response = await client.GetAsync(url); if (response.IsSuccessStatusCode) { var result = await response.Content.ReadAsStringAsync(); return(result.ToObject <ResponseModel <T> >().Data); } LoggerManager.Warn($"调用接口返回失败(get)。{(new { url, input = data, output = response }).ToJson()}", SystemInfo.SystemId, "Api"); return(default(T)); } catch (Exception ex) { LoggerManager.Error($"调用接口返回失败(get)。{(new { url, input = data, exception = ex }).ToJson()}", SystemInfo.SystemId, "Api"); return(default(T)); } }
public override bool Add(OutSideMapEntity entity) { var description = "添加外部地址映射表"; try { var sql = @"INSERT INTO OutSideMap(OutSideUrl,OutSideUrlMd5,UrlType,CreatedTime) VALUES(@OutSideUrl,@OutSideUrlMd5,@UrlType,getdate());"; IDataParameter[] parameters = { new SqlParameter("@OutSideUrl", SqlDbType.NVarChar, 1024) { Value = entity.OutSideUrl }, new SqlParameter("@OutSideUrlMd5", SqlDbType.VarChar, 32) { Value = entity.OutSideUrlMd5 }, new SqlParameter("@UrlType", SqlDbType.Int, 4) { Value = entity.UrlType } }; LoggerManager.Debug(GetType().Name, $"{description},sql:{sql}{Environment.NewLine}参数:{entity.SerializeToJSON()}"); return(DataBaseManager.MainDb().ExecuteNonQuery(sql, parameters).CInt(0, false) > 0); } catch (Exception ex) { LoggerManager.Error(GetType().Name, $"{description}异常", ex); return(false); } }
public void AsynchronousSendTask(object o) { IMessageTree tree = null; while (_mActive) { while (_mQueue.Count == 0 || _mActiveConnection == null || !_mActiveConnection.Connected) { if (_mActiveConnection != null && !_mActiveConnection.Connected) { LoggerManager.Warn("AsynchronousSendTask中,Socket关闭"); } Thread.Sleep(5); } lock (_mQueue) { tree = _mQueue.Dequeue(); } try { SendInternal(tree); } catch (Exception t) { LoggerManager.Error("Error when sending message over TCP socket! Error: {0}", t); } } }
public override async Task Execute() { var linkId = Storage.GetLinkIdByGid(_gid); if (!string.IsNullOrEmpty(_path)) { await Growl.Notify($"Download complete!\n{_path}"); } if (string.IsNullOrEmpty(linkId)) { await RemoveDownloadResult(_gid); return; } if (!await Hltv.SetState(linkId, LinkState.Finished)) { LoggerManager.Error("Error from server for setting link {0} to finished", linkId); await ShutdownAriaIfNoLinksLeft(); return; } Storage.RemoveLinkId(_gid); await RemoveDownloadResult(_gid); }
public void OnException(ExceptionContext filterContext) { Exception exception = filterContext.Exception; if (filterContext.ExceptionHandled == true) { return; } //filterContext.Exception.Message可获取错误信息 /* * 1、根据对应的HTTP错误码跳转到错误页面 * 2、先对Action方法里引发的HTTP 404/400错误进行捕捉和处理 * 3、其他错误默认为HTTP 500服务器错误 */ //if (httpException != null && (httpException.GetHttpCode() == 400 || httpException.GetHttpCode() == 404)) //{ // filterContext.HttpContext.Response.StatusCode = 404; // filterContext.HttpContext.Response.WriteFile("~/HttpError/404.html"); //} //else //{ // filterContext.HttpContext.Response.StatusCode = 500; // filterContext.HttpContext.Response.WriteFile("~/HttpError/500.html"); //} /*--------------------------------------------------------- * 这里可进行相关自定义业务处理,比如日志记录等 * ---------------------------------------------------------*/ LoggerManager.Error(exception.ToString()); //设置异常已经处理,否则会被其他异常过滤器覆盖 filterContext.ExceptionHandled = true; //在派生类中重写时,获取或设置一个值,该值指定是否禁用IIS自定义错误。 }
public override void OnException(ExceptionContext filterContext) { if (filterContext.ExceptionHandled || !filterContext.HttpContext.IsCustomErrorEnabled) { return; } if (new HttpException(null, filterContext.Exception).GetHttpCode() != 500) { return; } if (!ExceptionType.IsInstanceOfType(filterContext.Exception)) { return; } //如果是AJAX请求返回json if (filterContext.HttpContext.Request.IsAjaxRequest()) { filterContext.Result = new JsonResult() { JsonRequestBehavior = JsonRequestBehavior.AllowGet, Data = new { error = true, message = filterContext.Exception.Message } }; } else { var controllerName = (string)filterContext.RouteData.Values["controller"]; var actionName = (string)filterContext.RouteData.Values["action"]; var model = new HandleErrorInfo(filterContext.Exception, controllerName, actionName); filterContext.Result = new ViewResult() { ViewName = View, MasterName = Master, ViewData = new ViewDataDictionary(model), TempData = filterContext.Controller.TempData }; } LoggerManager.Error(filterContext.Exception.Message); filterContext.ExceptionHandled = true; filterContext.HttpContext.Response.Clear(); filterContext.HttpContext.Response.StatusCode = 500; filterContext.HttpContext.Response.TrySkipIisCustomErrors = true; }
private void WriteEndLog(LogMetadata metadata) { string message; if (metadata.ResponseException != null) { message = string.Format("[{0}] - EXCEPTION - STATUS: {1} - MESSAGE: {2}\r\nStackTrace: {3}", metadata.RequestMethod, metadata.ResponseException.ErrorCode, metadata.ResponseException.ErrorMessage, metadata.ResponseException.Exception.StackTrace); LoggerManager.Error(message); } message = string.Format("[{0}] - END: {1} [Status: {2}]", metadata.RequestMethod, metadata.RequestUri, metadata.ResponseCode); LoggerManager.Info(message); }
public static IDbConnection GetInstance(String driverType, string connectionStr) { //这样根据类型确定连接是mysql还是sqlserver var type = Type.GetType(driverType); var iconn = Activator.CreateInstance(type, connectionStr) as IDbConnection; LoggerManager.Error(null, iconn.ConnectionString + "数据库连接"); if (iconn == null) { throw new Exception(" is null"); } return(iconn); }
protected override void RunCore(RunArgs args) { if (args.TryGetFirst(out var type)) { if (!args.TryGetSecondAsInt(out int count)) { count = 100; } switch (type) { case "m": Task.Run((() => { LoggerManager.Log($"ManagedLeak Work On {Thread.CurrentThread.ManagedThreadId} Begin"); try { for (int i = 0; i < count; i++) { ManagedLeak(); } } catch (Exception e) { LoggerManager.Error(e); } LoggerManager.Log($"ManagedLeak Work On {Thread.CurrentThread.ManagedThreadId} End"); })); break; case "n": Task.Run((() => { LoggerManager.Log($"NativeLeak Work On {Thread.CurrentThread.ManagedThreadId} Begin"); try { for (int i = 0; i < count; i++) { NativeLeak($"Prod_{count}"); } } catch (Exception e) { LoggerManager.Error(e); } LoggerManager.Log($"NativeLeak Work On {Thread.CurrentThread.ManagedThreadId} End"); })); break; } } }
public void RefreshAccessToken() { _Downloader.SetAccessCodeAndRequestToken(_AccessCode, (Success) => { if (Success == false) { string message = "Fail in requesting new Refresh Token and Access Token. Access Code cannot be empty."; _Logger.Error(message); } }); _Logger.WriteLine(string.Format("[TokenInfo] Access Token: {0}", _Downloader.GetAccessToken())); var ExpiryDate = _Downloader.GetAccessTokenExpiryDate; _Logger.WriteLine(string.Format("[TokenInfo] Expiry At: {0} {1}", ExpiryDate.ToShortDateString(), ExpiryDate.ToShortTimeString())); _Logger.WriteLine(string.Format("[TokenInfo] Refresh Token: {0}", _Downloader.GetRefreshToken())); }
protected async Task RemoveDownloadResult(string gid) { try { await Aria.RemoveDownloadResult(gid); LoggerManager.Debug($"Removed gid #{gid}"); } catch (Exception ex) { LoggerManager.Error(ex, "Error removing download result!"); } finally { await ShutdownAriaIfNoLinksLeft(); } }
private TcpClient CreateConnection(int index) { Server server = _mClientConfig.Servers[index]; if (!server.Enabled) { return(null); } TcpClient tcpClient = new TcpClient(); tcpClient.NoDelay = true; tcpClient.ReceiveTimeout = 5 * 1000; // 2 seconds string ip = server.Ip; int port = server.Port; LoggerManager.Info("Connecting to server({0}:{1}) ...", ip, port); try { tcpClient.Connect(ip, port); if (tcpClient.Connected) { LoggerManager.Info("Connected to server({0}:{1}).", ip, port); return(tcpClient); } LoggerManager.Error("Failed to connect to server({0}:{1}).", ip, port); } catch (Exception e) { LoggerManager.Error( "Failed to connect to server({0}:{1}). Error: {2}.", ip, port, e.Message ); } return(null); }
public async virtual Task <T> Post <T>(string url, object data) { HttpClient client = new HttpClient(); client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); try { var response = await client.PostAsync(url, new StringContent(data.ToJson(), Encoding.UTF8, "application/json")); if (response.IsSuccessStatusCode) { return((await response.Content.ReadAsStringAsync()).ToObject <ResponseModel <T> >().Data); } LoggerManager.Warn($"调用接口返回失败(post)。{(new { url, input = data, output = response }).ToJson()}", SystemInfo.SystemId, "Api"); return(default(T)); } catch (Exception ex) { LoggerManager.Error($"调用接口返回失败(post)。{(new { url, input = data, exception = ex }).ToJson()}", SystemInfo.SystemId, "Api"); return(default(T)); } }
private void SetValue(AttributeAction action) { if (!string.IsNullOrEmpty(action.SetValue)) { HtmlElementCollection elementCollection = GetData(action) as HtmlElementCollection; if (elementCollection != null) { SetValue(elementCollection, "value", action.SetValue); } else { HtmlElement element = GetData(action) as HtmlElement; if (element == null) { LoggerManager.Error("Element Not Found"); throw new ElementNoFoundException("Element Not Found", action); } SetValue(element, "value", action.SetValue); } } }
public override bool Exist(long id) { var description = "检查外部地址映射表是否存在"; try { var sql = @"IF EXISTS(SELECT Id FROM OutSideMap with(nolock) WHERE ID=@Id) BEGIN SELECT 1 END ELSE BEGIN SELECT 0 END"; IDataParameter[] parameters = { new SqlParameter("@Id", SqlDbType.BigInt, 8) { Value = id }, }; LoggerManager.Debug(GetType().Name, $"{description},sql:{sql}{Environment.NewLine}参数:id={id}"); return(DataBaseManager.MainDb().ExecuteScalar(sql, parameters).CInt(0, false) > 0); } catch (Exception ex) { LoggerManager.Error(GetType().Name, $"{description}异常", ex); return(false); } }
public override bool Delete(long id) { var description = "根据id删除外部地址映射表"; try { var sql = @"DELETE OutSideMap WHERE Id=@Id"; IDataParameter[] parameters = { new SqlParameter("@Id", SqlDbType.BigInt, 8) { Value = id }, }; LoggerManager.Debug(GetType().Name, $"{description}sql:{sql}{Environment.NewLine}参数:id={id}"); return(DataBaseManager.MainDb().ExecuteNonQuery(sql, parameters).CInt(0, false) > 0); } catch (Exception ex) { LoggerManager.Error(GetType().Name, $"{description}异常", ex); return(false); } }
public OutSideMapEntity GetByOutSideUrlMd5(string outSideUrlMd5) { var description = "根据外部地址查询映射表"; try { var sql = @"SELECT * FROM OutSideMap WITH(NOLOCK) WHERE OutSideUrlMd5=@OutSideUrlMd5"; IDataParameter[] parameters = { new SqlParameter("@OutSideUrlMd5", SqlDbType.VarChar) { Value = outSideUrlMd5 }, }; LoggerManager.Debug(GetType().Name, $"{description}sql:{sql}{Environment.NewLine}参数:outSideUrlMd5={outSideUrlMd5}"); return(RPoney.Data.ModelConvertHelper <OutSideMapEntity> .ToModel(DataBaseManager.MainDb().ExecuteFillDataTable(sql, parameters))); } catch (Exception ex) { LoggerManager.Error(GetType().Name, $"{description}异常", ex); return(null); } }
public static bool CheckForUpdate() { if (!System.Diagnostics.Debugger.IsAttached && ApplicationDeployment.IsNetworkDeployed) { ApplicationDeployment ad = ApplicationDeployment.CurrentDeployment; try { info = ad.CheckForDetailedUpdate(); } catch (Exception ex) { LoggerManager.Error(ex, "Update check failed"); return(false); } if (info.UpdateAvailable) { return(true); } } return(false); }
public override OutSideMapEntity Get(long id) { var description = "根据id查询外部地址映射表"; try { var sql = @"SELECT * FROM OutSideMap WITH(NOLOCK) WHERE Id=@Id"; IDataParameter[] parameters = { new SqlParameter("@Id", SqlDbType.BigInt, 8) { Value = id }, }; LoggerManager.Debug(GetType().Name, $"{description}sql:{sql}{Environment.NewLine}参数:id={id}"); return(RPoney.Data.ModelConvertHelper <OutSideMapEntity> .ToModel(DataBaseManager.MainDb().ExecuteFillDataTable(sql, parameters))); } catch (Exception ex) { LoggerManager.Error(GetType().Name, $"{description}异常", ex); return(null); } }
protected override void OnProcess(IAction action) { base.OnProcess(action); HtmlElement element = this.GetData(action) as HtmlElement; if (element == null) { LoggerManager.Error("Element Not Found"); throw new ElementNoFoundException("Element Not Found", action); } LoggerManager.Debug(action.AutomationActionData); ClickAction clickAction = action as ClickAction; if (clickAction == null) { return; } if (clickAction.Click) { LoggerManager.Debug("Trigger Click"); this.Call <HtmlElement>(Click, element); } if (clickAction.ClickNew) { LoggerManager.Debug("Trigger ClickNew"); this.Call <HtmlElement>(ClickNew, element); } if (clickAction.MouseClick) { LoggerManager.Debug("Trigger MouseClick"); this.Call <HtmlElement>(MouseClick, element); } }
public override bool Update(OutSideMapEntity entity) { var description = "更新外部地址映射表"; try { var sql = @"UPDATE OutSideMap SET OutSideUrl=@OutSideUrl, OutSideUrlMd5=@OutSideUrlMd5, UrlType=@UrlType, WHERE Id=@Id ; "; IDataParameter[] parameters = { new SqlParameter("@OutSideUrl", SqlDbType.NVarChar, 1024) { Value = entity.OutSideUrl }, new SqlParameter("@OutSideUrlMd5", SqlDbType.VarChar, 32) { Value = entity.OutSideUrlMd5 }, new SqlParameter("@UrlType", SqlDbType.Int, 4) { Value = entity.UrlType } }; LoggerManager.Debug(GetType().Name, $"{description},sql:{sql}{Environment.NewLine}参数:{entity.SerializeToJSON()}"); return(DataBaseManager.MainDb().ExecuteNonQuery(sql, parameters).CInt(0, false) > 0); } catch (Exception ex) { LoggerManager.Error(GetType().Name, $"{description}异常", ex); return(false); } }
protected override void OnProcess(Action.IAction action) { ScrollAction scrollAction = action as ScrollAction; if (scrollAction == null) { return; } LoggerManager.Debug(action.AutomationActionData); // page if (scrollAction.Position == Position.None) { return; } InitScroll(); this.period = scrollAction.Period; if (scrollAction.Position == Position.PageBottom) { bottom = GetMaxPosition(); } else if (scrollAction.Position == Position.Middle) { bottom = GetMaxPosition(); bottom = bottom / 2; } else if (scrollAction.Position == Position.Element) { HtmlElement element = this.GetData(action) as HtmlElement; if (element == null) { LoggerManager.Error("Element Not Found"); throw new ElementNoFoundException("Element Not Found", action); } bottom = GetY(element); if (bottom == 0) { bottom = GetYoffset(element); } } if (scrollAction.Factor > 0) { bottom = bottom / scrollAction.Factor; } int current = GetY(); if (bottom == current) { return; } else if (bottom > current) { positive = true; bottom += scrollAction.Offset; } else { positive = false; bottom -= scrollAction.Offset; } timer.Change(this.period, Timeout.Infinite); }
public void LBS_RegisterListenerError(string error) { LoggerManager.Error(error); m_PlatformMsgManageModule.TriggerPlatformMessage(PlatformMessageManageModule.LBS_RegisterListenerError, error); }
protected override void OnProcess(IAction action) { base.OnProcess(action); LoggerManager.Debug(action.AutomationActionData); HtmlElement element = this.GetData(action) as HtmlElement; if (element == null) { LoggerManager.Error("Element Not Found"); throw new ElementNoFoundException("Element Not Found", action); } MouseAction mouseAction = action as MouseAction; if (mouseAction == null) { return; } if (mouseAction.Click) { LoggerManager.Debug("MouseTask Trigger Click"); this.Call <HtmlElement>(Click, element); } if (mouseAction.ClickNew) { LoggerManager.Debug("MouseTask Trigger ClickNew"); this.Call <HtmlElement>(ClickNew, element); } if (mouseAction.MouseClick) { LoggerManager.Debug("MouseTask Trigger MouseClick"); this.Call <HtmlElement>(MouseClick, element); } if (mouseAction.Over) { LoggerManager.Debug("MouseTask Trigger Mouse Over"); this.Call <HtmlElement>(Over, element); } if (mouseAction.OverNew) { LoggerManager.Debug("MouseTask Trigger Mouse OverNew"); this.Call <HtmlElement>(OverNew, element); } if (mouseAction.Down) { LoggerManager.Debug("MouseTask Trigger Mouse Down"); this.Call <HtmlElement>(Down, element); } if (mouseAction.Up) { LoggerManager.Debug("MouseTask Trigger Mouse Up"); this.Call <HtmlElement>(Up, element); } if (mouseAction.Focus) { LoggerManager.Debug("MouseTask Trigger Mouse Focus"); this.Call <HtmlElement>(Focus, element); } if (mouseAction.Move) { LoggerManager.Debug("MouseTask Trigger Mouse Move"); this.Call <HtmlElement>(Move, element); } if (mouseAction.MoveNew) { LoggerManager.Debug("MouseTask Trigger Mouse MoveNew"); this.Call <HtmlElement>(MoveNew, element); } if (mouseAction.MoveEnter) { LoggerManager.Debug("MouseTask Trigger Mouse MoveEnter"); this.Call <HtmlElement>(MoveEnter, element); } }