/// <summary> /// 带WebApi_Result实体返回值的业务处理委托。(用于非跨域的AJAX接口调用) /// </summary> /// <param name="actionName">操作名称</param> /// <param name="handler">业务处理委托</param> public string ExecuteActionJsonResult(string actionName, UI_Business_Logic_JsonResult_Handler handler) { try { var _WebApi_Result = new WebApi_Result() { code = 13, msg = "登录凭证失效,获取数据失败!" }; if (IsTokenAuthorized) { _WebApi_Result = handler(); _WebApi_Result.msg = _WebApi_Result.msg == null ? actionName + "成功!" : _WebApi_Result.msg; _WebApi_Result.code = _WebApi_Result.code == null ? 0 : _WebApi_Result.code; } return(ResponseJsonResult(_WebApi_Result)); } catch (Exception err) { if (err.Message.Contains("ORA-12570")) { ExecuteActionJsonResult(actionName, handler); } string strErrorContent = actionName + "失败!-------" + err.Message; if (string.IsNullOrWhiteSpace(Request["token"].GetUserToken().UserId)) { strErrorContent += "----------用户ID:" + Request["token"].GetUserToken().UserId; } FileLog.AddErrorLog(strErrorContent); Globle_Message = strErrorContent; return(ResponseJsonResult(new WebApi_Result() { code = 6 })); } finally { //Response.End();//Response.End必须放在finally里面执行,否则会报“正在中止线程”的错误 http://www.cnblogs.com/jintianhu/archive/2011/02/16/1952833.html } }
/// <summary> /// AJAX跨域调用接口时的业务处理委托 /// </summary> /// <param name="actionName"></param> /// <param name="handler"></param> /// <returns></returns> public string ExecuteActionJsonResult_ForDomin(string actionName, UI_Business_Logic_JsonResult_Handler handler) { return(Request["jsoncallback"] + "(" + ExecuteActionJsonResult(actionName, handler) + ")"); }