public void Application_Error555(Object sender, EventArgs e)
        {
            Exception exception = Server.GetLastError();

            Server.ClearError();

            var routeData = new RouteData();

            routeData.Values.Add("controller", "ErrorPage");
            routeData.Values.Add("action", "Error");
            routeData.Values.Add("exception", exception);

            if (exception.GetType() == typeof(HttpException))
            {
                routeData.Values.Add("statusCode", ((HttpException)exception).GetHttpCode());
            }
            else
            {
                routeData.Values.Add("statusCode", 500);
            }

            Response.TrySkipIisCustomErrors = true;
            IController controller = new ErrorPageController();

            controller.Execute(new RequestContext(new HttpContextWrapper(Context), routeData));
            Response.End();
        }
Exemple #2
0
 public void SetUp()
 {
     _controller = new ErrorPageController()
     {
         ControllerContext = MockedControllerContext.Setup()
     };
 }
Exemple #3
0
        public void Application_Error(Object sender, EventArgs e)
        {
            Exception exception = Server.GetLastError();
            string    error     = "IP - " + Request.UserHostAddress + "; " + "USER AGENT - " + Request.UserAgent + "; MESSAGE - " + exception;

            LogService.Current.Error(error);
            Server.ClearError();

            var routeData = new RouteData();

            routeData.Values.Add("controller", "ErrorPage");
            routeData.Values.Add("action", "Error");

            if (exception.GetType() == typeof(HttpException))
            {
                routeData.Values.Add("statusCode", ((HttpException)exception).GetHttpCode());
            }
            else
            {
                routeData.Values.Add("statusCode", 500);
            }

            Response.TrySkipIisCustomErrors = true;
            IController controller = new ErrorPageController(_appController);

            controller.Execute(new RequestContext(new HttpContextWrapper(Context), routeData));
            Response.End();
        }
        public void ErrorPageView()
        {
            ErrorPageController ErrorPage = new ErrorPageController();
            var results = ErrorPage.ErrorPage() as ViewResult;

            Assert.AreEqual("", results.ViewName);
        }
Exemple #5
0
        protected void Application_Error()
        {
            var exception = Server.GetLastError();

            if (exception is HttpAntiForgeryException)
            {
                Response.Clear();
                Server.ClearError();
                Response.Redirect("/Admin/Error/Antiforgery", true);
            }

            var httpException = exception as HttpException;

            Response.Clear();
            Server.ClearError();

            var routeData = new RouteData();

            routeData.Values["controller"] = "ErrorPage";
            routeData.Values["action"]     = "Unauthorized";
            routeData.Values["exception"]  = exception;

            Response.StatusCode             = (int)System.Net.HttpStatusCode.InternalServerError;
            Response.TrySkipIisCustomErrors = true;
            if (httpException != null)
            {
                Response.StatusCode = httpException.GetHttpCode();

                switch (Response.StatusCode)
                {
                case (int)System.Net.HttpStatusCode.Unauthorized:
                    routeData.Values["action"] = "Unauthorized";
                    break;

                case (int)System.Net.HttpStatusCode.NotFound:
                    routeData.Values["action"] = "PageNotFound";
                    break;

                default:
                    routeData.Values["action"] = "SomethingWrong";
                    break;
                }
            }
            // Avoid IIS7 getting in the middle
            Response.TrySkipIisCustomErrors = true;
            IController        errorsController = new ErrorPageController();
            HttpContextWrapper wrapper          = new HttpContextWrapper(Context);
            var rc = new RequestContext(wrapper, routeData);

            errorsController.Execute(rc);
        }
        protected void Application_Error45333(object sender, EventArgs e)
        {
            Exception ex = Server.GetLastError();

            if (ex != null)
            {
                StringBuilder err = new StringBuilder();
                err.Append("Error caught in Application_Error event\n");
                err.Append("Error in: " + (Context.Session == null ? string.Empty : Request.Url.ToString()));
                err.Append("\nError Message:" + ex.Message);
                if (null != ex.InnerException)
                {
                    err.Append("\nInner Error Message:" + ex.InnerException.Message);
                }
                err.Append("\n\nStack Trace:" + ex.StackTrace);
                Server.ClearError();

                if (null != Context.Session)
                {
                    err.Append($"Session: Identity name:[{Thread.CurrentPrincipal.Identity.Name}] IsAuthenticated:{Thread.CurrentPrincipal.Identity.IsAuthenticated}");
                }
                //_log.Error(err.ToString());

                if (null != Context.Session)
                {
                    var routeData = new RouteData();
                    routeData.Values.Add("controller", "ErrorPage");
                    routeData.Values.Add("action", "Error");
                    routeData.Values.Add("exception", ex);

                    if (ex.GetType() == typeof(HttpException))
                    {
                        routeData.Values.Add("statusCode", ((HttpException)ex).GetHttpCode());
                    }
                    else
                    {
                        routeData.Values.Add("statusCode", 500);
                    }
                    Response.TrySkipIisCustomErrors = true;
                    IController controller = new ErrorPageController();
                    controller.Execute(new RequestContext(new HttpContextWrapper(Context), routeData));
                    Response.End();
                }
            }
        }
        protected void Application_Error(object sender, EventArgs e)
        {
            var httpContext = ((MvcApplication)sender).Context;
            var ex          = Server.GetLastError();
            var action      = "Error";

            if (ex is HttpException)
            {
                var httpEx = ex as HttpException;
                switch (httpEx.GetHttpCode())
                {
                case 403:
                    action = "Forbidden";
                    break;

                case 404:
                    action = "NotFound";
                    break;

                case 500:
                    action = "Expired";
                    break;
                    // others if any
                }
            }
            // log the error using log4net.
            logger.Error(ex.Message, ex);

            httpContext.ClearError();
            httpContext.Response.Clear();
            httpContext.Response.StatusCode = ex is HttpException ? ((HttpException)ex).GetHttpCode() : 500;
            httpContext.Response.Headers.Add("Content-Type", "text/html");
            httpContext.Response.TrySkipIisCustomErrors = true;

            var routeData = new RouteData();

            routeData.Values["controller"] = "ErrorPage";
            routeData.Values["action"]     = action;

            var controller = new ErrorPageController();

            ((IController)controller).Execute(new RequestContext(new HttpContextWrapper(httpContext), routeData));
        }
Exemple #8
0
        /// <summary>
        /// CreatedBy : Nadeeka
        /// CreatedDate: 04/28/2016
        ///
        /// Insert error details to log file
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Application_Error(object sender, EventArgs e)
        {
            Session.Clear(); // asanka 09062016

            Exception exception = Server.GetLastError();

            Response.Clear();

            ErrorPageController errorController = new ErrorPageController();

            // Log the exception in text file
            errorController.InsertRecordToLogFile(DateTime.Now.ToString("MM-dd-yyyy"), exception.StackTrace, exception.Message);

            Response.Write("Page Error\n");
            Response.Write(exception.Message + "\n");
            //Response.Write("Return to the <a href='/UserManagement/UserDetails'>" + "Dashboard</a>\n");
            Response.Write(exception.StackTrace + "\n");

            // Clear the error from the server
            //Server.ClearError(); comment by Asanka
        }
Exemple #9
0
        protected void Application_Error(object sender, EventArgs e)
        {
            var app     = (MvcApplication)sender;
            var context = app.Context;
            var ex      = app.Server.GetLastError();

            context.Response.Clear();
            context.ClearError();

            var httpException = ex as HttpException;

            var routeData = new RouteData();

            routeData.Values["controller"] = "ErrorPage";
            routeData.Values["exception"]  = ex;
            routeData.Values["action"]     = "ErrorMessage";

            if (httpException != null)
            {
                switch (httpException.GetHttpCode())
                {
                case 404:
                    routeData.Values["action"] = "http404";
                    break;

                case 500:
                    routeData.Values["action"] = "http500";
                    break;

                case 200:
                    routeData.Values["action"] = "ErrorMessage";
                    break;
                }
            }

            IController controller = new ErrorPageController();

            controller.Execute(new RequestContext(new HttpContextWrapper(context), routeData));
        }
        public void ErrorPageView()
        {
            ErrorPageController ErrorPage = new ErrorPageController();
            var results = ErrorPage.ErrorPage() as ViewResult;
            Assert.AreEqual("", results.ViewName);

        }
        void ErrorLog(Exception exception)
        {
            var httpContext       = HttpContext.Current;
            var currentController = "";
            var currentAction     = "Index";
            var currentRouteData  = RouteTable.Routes.GetRouteData(new HttpContextWrapper(httpContext));

            if (currentRouteData != null)
            {
                if (currentRouteData.Values["controller"] != null && !string.IsNullOrEmpty(currentRouteData.Values["controller"].ToString()))
                {
                    currentController = currentRouteData.Values["controller"].ToString();
                }

                if (currentRouteData.Values["action"] != null && !string.IsNullOrEmpty(currentRouteData.Values["action"].ToString()))
                {
                    currentAction = currentRouteData.Values["action"].ToString();
                }

                var controller = new ErrorPageController();
                var routeData  = new RouteData();
                var action     = "Index";

                if (exception is HttpException)
                {
                    var httpEx = exception as HttpException;
                    switch (httpEx.GetHttpCode())
                    {
                    case 400:
                        action = "Error400";
                        break;

                    case 401:
                        action = "Error401";
                        break;

                    case 500:
                        action = "Error500";
                        break;

                    case 403:
                        action = "Error403";
                        break;

                    case 404:
                        action = "Error404";
                        break;

                    default:
                        action = "Index";
                        break;
                    }
                }

                httpContext.ClearError();
                httpContext.Response.Clear();
                httpContext.Response.StatusCode             = exception is HttpException ? ((HttpException)exception).GetHttpCode() : 500;
                httpContext.Response.TrySkipIisCustomErrors = true;

                routeData.Values["controller"] = "ErrorPage";
                routeData.Values["action"]     = action;

                if (exception != null)
                {
                    BAL_ErrorLog.LogException(new LogError
                    {
                        UserName       = "",
                        ApplicationUrl = HttpContext.Current.Request.Url + Environment.NewLine,
                        Message        = exception.Message != null ? exception.Message.ToString(CultureInfo.InvariantCulture) : "",
                        Source         = exception.Source != null ? exception.Source.ToString(CultureInfo.InvariantCulture) : "",
                        StackTrace     = exception.StackTrace != null ? exception.StackTrace.ToString(CultureInfo.InvariantCulture) : ""
                    });
                    controller.ViewData.Model = new HandleErrorInfo(exception ?? new Exception(), currentController, currentAction);
                }
                ((IController)controller).Execute(new RequestContext(new HttpContextWrapper(httpContext), routeData));
            }
        }