예제 #1
0
 /// <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);
 }
예제 #2
0
 /// <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);
 }
예제 #3
0
 /// <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调用。");
     }
 }