protected override Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        {
            return(base.SendAsync(request, cancellationToken).ContinueWith <HttpResponseMessage>((responseToCompleteTask) =>
            {
                HttpResponseMessage response = responseToCompleteTask.Result;
                HttpError error = null;
                if (response.TryGetContentValue <HttpError>(out error))
                {
                    if (error != null)
                    {
                        throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.InternalServerError)
                        {
                            //封装处理异常信息,返回指定JSON对象
#if DEBUG
                            Content = new StringContent(ResponseResult.Exception(error.Message).ToJson()),
#else
                            Content = new StringContent(ResponseResult.Exception("接口出现了错误,请重试或者联系管理员").ToJson(), Encoding.UTF8, "application/json"),
#endif
                            ReasonPhrase = "error"
                        });
                    }
                }
                return response;
            }));
        }
        public ResponseResult <LoginResponseResult> LoginByJObject([FromBody] JObject data)
        {
            var obj = new
            {
                user_id       = data["user_id"].ToObject <string>(),
                user_password = data["user_password"].ToObject <string>(),
            };
            var result = ResponseResult <LoginResponseResult> .Default();

            try
            {
                if (string.IsNullOrEmpty(obj.user_id))
                {
                    return(ResponseResult <LoginResponseResult> .Faild("user_id不能为空!"));
                }

                if (string.IsNullOrEmpty(obj.user_password))
                {
                    return(ResponseResult <LoginResponseResult> .Faild("user_password不能为空!"));
                }

                //=>[模拟从数据库中验证user_id和user_password]
                if (obj.user_id.Equals("abennet") && obj.user_password.Equals("abennet"))
                {
                    LoginResponseResult entity = new LoginResponseResult
                    {
                        UserId       = obj.user_id,
                        UserPassword = obj.user_password,
                        LoginTime    = DateTime.Now,
                        SessionToken = Guid.NewGuid().ToString("N"),
                    };
                    result = ResponseResult <LoginResponseResult> .Success(entity, "登录成功!");
                }
                else
                {
                    result = ResponseResult <LoginResponseResult> .Faild("登录失败!");
                }
            }
            catch (System.Exception ex)
            {
                result = ResponseResult <LoginResponseResult> .Exception(ex.Message);
            }
            return(result);
        }
        /// <summary>
        /// 统一对调用异常信息进行处理,返回自定义的异常信息
        /// </summary>
        /// <param name="context">HTTP上下文对象</param>
        public override void OnException(HttpActionExecutedContext context)
        {
            //自定义异常的处理
            Exception ex = context.Exception;

            if (ex != null)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.InternalServerError)
                {
                    //封装处理异常信息,返回指定JSON对象
#if DEBUG
                    Content = new StringContent(ResponseResult.Exception(ex.Message).ToJson()),
#else
                    Content = new StringContent(ResponseResult.Exception("接口出现了错误,请重试或者联系管理员").ToJson(), Encoding.UTF8, "application/json"),
#endif
                    ReasonPhrase = "exception"
                });
            }
        }
        public ResponseResult <LoginResponseResult> LoginByFromBody([FromUri] int id,
                                                                    [FromBody] LoginRequestParam loginRequestParam)
        {
            var result = ResponseResult <LoginResponseResult> .Default();

            try
            {
                if (string.IsNullOrEmpty(loginRequestParam.user_id))
                {
                    return(ResponseResult <LoginResponseResult> .Faild("user_id不能为空!"));
                }

                if (string.IsNullOrEmpty(loginRequestParam.user_password))
                {
                    return(ResponseResult <LoginResponseResult> .Faild("user_password不能为空!"));
                }

                //=>[模拟从数据库中验证user_id和user_password]
                if (loginRequestParam.user_id.Equals("abennet") && loginRequestParam.user_password.Equals("abennet"))
                {
                    LoginResponseResult entity = new LoginResponseResult
                    {
                        UserId       = loginRequestParam.user_id,
                        UserPassword = loginRequestParam.user_password,
                        LoginTime    = DateTime.Now,
                        SessionToken = Guid.NewGuid().ToString("N"),
                    };
                    result = ResponseResult <LoginResponseResult> .Success(entity, "登录成功!");
                }
                else
                {
                    result = ResponseResult <LoginResponseResult> .Faild("登录失败!");
                }
            }
            catch (System.Exception ex)
            {
                result = ResponseResult <LoginResponseResult> .Exception(ex.Message);
            }
            return(result);
        }