diff options
Diffstat (limited to 'MatrixUtils.Web.Server/Pages')
-rw-r--r-- | MatrixUtils.Web.Server/Pages/Error.cshtml | 41 | ||||
-rw-r--r-- | MatrixUtils.Web.Server/Pages/Error.cshtml.cs | 19 |
2 files changed, 60 insertions, 0 deletions
diff --git a/MatrixUtils.Web.Server/Pages/Error.cshtml b/MatrixUtils.Web.Server/Pages/Error.cshtml new file mode 100644 index 0000000..a29e836 --- /dev/null +++ b/MatrixUtils.Web.Server/Pages/Error.cshtml @@ -0,0 +1,41 @@ +@page +@model MatrixUtils.Web.Server.Pages.ErrorModel + +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"/> + <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> + <title>Error</title> + <link href="~/css/bootstrap/bootstrap.min.css" rel="stylesheet"/> + <link href="~/css/app.css" rel="stylesheet" asp-append-version="true"/> +</head> + +<body> +<div class="main"> + <div class="Content px-4"> + <h1 class="text-danger">Error.</h1> + <h2 class="text-danger">An error occurred while processing your request.</h2> + + @if (Model.ShowRequestId) { + <p> + <strong>Request ID:</strong> <code>@Model.RequestId</code> + </p> + } + + <h3>Development Mode</h3> + <p> + Swapping to the <strong>Development</strong> environment displays detailed information about the error that occurred. + </p> + <p> + <strong>The Development environment shouldn't be enabled for deployed applications.</strong> + It can result in displaying sensitive information from exceptions to end users. + For local debugging, enable the <strong>Development</strong> environment by setting the <strong>ASPNETCORE_ENVIRONMENT</strong> environment variable to <strong>Development</strong> + and restarting the app. + </p> + </div> +</div> +</body> + +</html> \ No newline at end of file diff --git a/MatrixUtils.Web.Server/Pages/Error.cshtml.cs b/MatrixUtils.Web.Server/Pages/Error.cshtml.cs new file mode 100644 index 0000000..3afc061 --- /dev/null +++ b/MatrixUtils.Web.Server/Pages/Error.cshtml.cs @@ -0,0 +1,19 @@ +using System.Diagnostics; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; + +namespace MatrixUtils.Web.Server.Pages; + +[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] +[IgnoreAntiforgeryToken] +public class ErrorModel : PageModel { + private readonly ILogger<ErrorModel> _logger; + + public ErrorModel(ILogger<ErrorModel> logger) => _logger = logger; + + public string? RequestId { get; set; } + + public bool ShowRequestId => !string.IsNullOrEmpty(RequestId); + + public void OnGet() => RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier; +} |