Esempio n. 1
0
    public override void OnException(HttpActionExecutedContext context)
    {
        ErrorMessageObject errorMessage = new ErrorMessageObject();

        if (context.Exception is ArgumentNullException)
        {
            ArgumentNullException e = context.Exception as ArgumentNullException;
            errorMessage.Message         = NULL_PARAMETERS;
            errorMessage.InternalMessage = string.Format("{0}. Parametro: {1}", NULL_RESPONSE, e.ParamName);
            errorMessage.ErrorCode       = (int)HttpStatusCode.BadRequest;
            context.Response             = new HttpResponseMessage(HttpStatusCode.BadRequest);
        }
        else if (context.Exception is System.Web.Http.HttpResponseException)
        {
            System.Web.Http.HttpResponseException webException = context.Exception as System.Web.Http.HttpResponseException;

            //string t = await (webException.Response.Content.ReadAsStringAsync());
            errorMessage.Message         = "Problemas con el request";
            errorMessage.InternalMessage = webException.Response.ReasonPhrase;
            context.Response             = new HttpResponseMessage(webException.Response.StatusCode);
            errorMessage.ErrorCode       = (int)webException.Response.StatusCode;
            //errorMessage.InternalMessage = await webException.Response.Content.ReadAsStringAsync() ;
        }
        else
        {
            errorMessage.Message         = "Error en la solicitud. Si el problema persiste, comuniquese con el administador.";
            errorMessage.InternalMessage = string.Format("Excepción no controlada de tipo {0}. Mensaje: {1}", context.Exception.GetType().ToString(), context.Exception.Message);
        }

        if (errorMessage.ErrorCode == 0)
        {
            context.Response       = new HttpResponseMessage(HttpStatusCode.InternalServerError);
            errorMessage.ErrorCode = (int)HttpStatusCode.InternalServerError;
        }
        context.Response.Content = new ObjectContent <ErrorMessageObject>(errorMessage, new JsonMediaTypeFormatter(), "application/json");

        base.OnException(context);
    }
Esempio n. 2
0
 private void HandleErrorMessage(ErrorMessageObject error)
 {
     MessageBox.Show(error.ErrorMessage);
 }
Esempio n. 3
0
 private void HandleErrorMessage(ErrorMessageObject e)
 {
     WorkerThreads.MockQueueItemsWorkers.Abort();
     Console.WriteLine("Worker thread stopped because: " + e.ErrorMessage);
 }