Ejemplo n.º 1
0
        public static ViewResult ViewResultResponse(HttpContextBase httpContext, HttpStatusCode statusCode, string viewName, Exception exception)
        {
            var exceptionViewModel = new ExceptionViewModel(exception);

            var logger = GetLogger();

            logger.LogError(
                "An unexpected error has occured\r\nUrl: {0}\r\nExceptionGuid: {1}\r\nUsername: {2}\r\nIP: {3}",
                exceptionViewModel.Exception,
                httpContext.Request.Url,
                exceptionViewModel.ExceptionGuid.ToString(),
                // TODO: Await next build of atlas.core for .ToToken() extension,
                httpContext.User.Identity.Name,
                httpContext.Request.GetCallerIdentity());

            return(CreateViewResult(httpContext, statusCode, viewName, exceptionViewModel));
        }
Ejemplo n.º 2
0
        private static ViewResult CreateViewResult(HttpContextBase httpContext, HttpStatusCode statusCode, string viewName, ExceptionViewModel exceptionViewModel)
        {
            var response = httpContext.Response;

            response.StatusCode             = (int)statusCode;
            response.TrySkipIisCustomErrors = true;
            response.Clear();

            return(new ViewResult
            {
                ViewName = viewName,
                ViewData = new ViewDataDictionary(exceptionViewModel)
            });
        }