Как вызвать веб-сервис из Filter.Config в Asp.NET MVC

Нужна помощь по регистрации исключения в файле Filter.Config в MVC 4. На самом деле у меня есть веб-сервис, который регистрирует исключения для меня. Но проблема в том, что вызов веб-службы не работает.

См. Приведенный ниже код в файле Filter.Config для регистрации исключения

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
        {
           filters.Add(new CustomHandleErrorAttribute());
           // filters.Add(new HandleErrorAttribute());
            filters.Add(new AuthorizeAttribute());
        }
        public class CustomHandleErrorAttribute : HandleErrorAttribute
        {
            public override void OnException(ExceptionContext filterContext)
            {
                Hwy905Error errorObj = new Hwy905Error();

                string serializedObj = string.Empty;
                var controllerName = string.Empty;
                var actionName = string.Empty;
                var model = string.Empty;
                if (filterContext.ExceptionHandled || !filterContext.HttpContext.IsCustomErrorEnabled)
                {
                    return;
                }
                if (new HttpException(null, filterContext.Exception).GetHttpCode() != 500)
                {
                    return;
                }
                if (!ExceptionType.IsInstanceOfType(filterContext.Exception))
                {
                    return;
                }
                // if the request is AJAX return JSON else view.
                //if (filterContext.HttpContext.Request.Headers["X-Requested-With"] == "XMLHttpRequest")
                //{
                //    filterContext.Result = new JsonResult
                //    {
                //        JsonRequestBehavior = JsonRequestBehavior.AllowGet,
                //        Data = new
                //        {
                //            error = true,
                //            message = filterContext.Exception.Message
                //        }
                //    };
                //}
                else
                {
                    controllerName = (string)filterContext.RouteData.Values["controller"];
                    actionName = (string)filterContext.RouteData.Values["action"];
                    model = Convert.ToString(new HandleErrorInfo(filterContext.Exception, controllerName, actionName));
                    filterContext.Result = new ViewResult
                    {
                        ViewName = "_Error",
                        MasterName = "_Layout",
                        ViewData = new ViewDataDictionary(model),
                        TempData = filterContext.Controller.TempData
                    };

                    errorObj.CarrierCode = "HWY905 - Mobile Web App";
                    errorObj.ClientId = 2;
                    errorObj.Whse_ID = 14;
                    errorObj.Containers = "";
                    errorObj.ExceptionMessage = filterContext.Exception.Message.ToString();
                    errorObj.StackTrack = filterContext.Exception.StackTrace.ToString();
                    errorObj.ExceptionType = filterContext.Exception.GetType().ToString();

                    errorObj.ExceptionPlace = controllerName + "/" + actionName;
                    errorObj.ExceptionNumber = filterContext.Exception.GetHashCode().ToString();
                    errorObj.ExceptionInformation = filterContext.Exception.Source.ToString();
                    errorObj.SourceFeedId = 11;
                    serializedObj = new JavaScriptSerializer().Serialize(errorObj);

                    **Hwy905Service.LogSystemErrors(serializedObj, 4);**// Web Service call not working. I want to log exception here through web service call

                    string result = LogSystemExceptions(serializedObj, 4);
                }

                filterContext.ExceptionHandled = true;
                filterContext.HttpContext.Response.Clear();
                filterContext.HttpContext.Response.StatusCode = 500;
                filterContext.HttpContext.Response.TrySkipIisCustomErrors = true;



            }


        }

У меня есть пользовательская страница с ошибкой, которая отображается при появлении любого исключения Но моя проблема в том, что я не могу позвонить на мой веб-сервис. Пожалуйста, помогите мне, ребята, решить эту проблему.

Показанная ниже ошибкавведите описание изображения здесь

0 ответов

Другие вопросы по тегам