コード例 #1
0
        /// <summary>
        /// Exception handler
        /// </summary>
        /// <param name="context"></param>
        public void OnException(ExceptionContext context)
        {
            HttpStatusCode statusCode = (context.Exception as WebException != null &&
                                         ((HttpWebResponse)(context.Exception as WebException).Response) != null) ?
                                        ((HttpWebResponse)(context.Exception as WebException).Response).StatusCode
                          : _exceptionConfig.GetErrorCode(context.Exception.GetType());

            //Variable initialization
            string errorMessage       = context.Exception.Message;
            string customErrorMessage = Constants.CustomExceptionFilter.CustomErrorMessage;
            string customCode         = Constants.CustomExceptionFilter.CustomCode;
            string stackTrace         = context.Exception.StackTrace;

            // Loging Hear
            HttpResponse response = context.HttpContext.Response;

            response.StatusCode  = (int)statusCode;
            response.ContentType = "application/json";

            var result = JsonConvert.SerializeObject(
                new
            {
                message      = customErrorMessage,
                customCode   = customCode,
                isError      = true,
                errorMessage = errorMessage,
                errorCode    = statusCode,
                stackTrace   = stackTrace
            });

            response.ContentLength = result.Length;
            response.WriteAsync(result);
        }
コード例 #2
0
        /// <summary>
        /// OnException
        /// </summary>
        /// <param name="context"></param>
        public void OnException(ExceptionContext context)
        {
            var statusCode = (context.Exception is WebException &&
                              ((HttpWebResponse)(context.Exception as WebException).Response) != null) ?
                             ((HttpWebResponse)(context.Exception as WebException).Response).StatusCode
                          : _exceptionConfig.GetErrorCode(context.Exception.GetType());
            var errorMessage       = context.Exception.Message;
            var customErrorMessage = "Hear Customer message will code depending on code";
            var customCode         = "Hear Customer code will code depending on code";
            var stackTrace         = context.Exception.StackTrace;


            var response = context.HttpContext.Response;

            response.StatusCode  = (int)statusCode;
            response.ContentType = "application/json";
            var result = JsonConvert.SerializeObject(
                new
            {
                message = customErrorMessage,
                customCode,
                isError = true,
                errorMessage,
                errorCode = statusCode,
                stackTrace
            });

            #region Logging

            #endregion Logging
            response.ContentLength = result.Length;
            response.WriteAsync(result);
        }