/// <summary> /// 处理异常 /// </summary> /// <param name="request"></param> /// <param name="ex"></param> /// <returns></returns> private JsonRpcException ProcessException(JsonRpcRequestContext request, JsonRpcException ex) { if (externalErrorHandler != null) { return(externalErrorHandler(request, ex)); } return(ex); }
/// <summary> /// 调用转换异常 /// </summary> /// <param name="request"></param> /// <param name="ex"></param> /// <returns></returns> internal JsonRpcException ProcessParseException(string request, JsonRpcException ex) { if (parseErrorHandler != null) { return(parseErrorHandler(request, ex)); } return(ex); }
/// <summary> /// 设置Rpc响应中使用的异常 /// </summary> /// <param name="exception"></param> public static void SetRpcException(JsonRpcException exception) { if (Task.CurrentId != null) { rpcExceptions[Task.CurrentId.Value] = exception; } else { throw new InvalidOperationException("此方法仅在标记为Json Rpc方法的上下文中使用时才有效,并且该方法必须由JsonRpc Handler调用。"); } }