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)); }
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) }); }