diff --git a/src/Middleware/Diagnostics/src/DeveloperExceptionPage/DeveloperExceptionPageMiddleware.cs b/src/Middleware/Diagnostics/src/DeveloperExceptionPage/DeveloperExceptionPageMiddleware.cs index c58c53ce8b..d1d40b2e07 100644 --- a/src/Middleware/Diagnostics/src/DeveloperExceptionPage/DeveloperExceptionPageMiddleware.cs +++ b/src/Middleware/Diagnostics/src/DeveloperExceptionPage/DeveloperExceptionPageMiddleware.cs @@ -4,12 +4,15 @@ using System; using System.Collections.Generic; using System.Diagnostics; +using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Diagnostics.Internal; using Microsoft.AspNetCore.Diagnostics.RazorViews; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; +using Microsoft.AspNetCore.Routing; using Microsoft.Extensions.FileProviders; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; @@ -192,6 +195,27 @@ namespace Microsoft.AspNetCore.Diagnostics private Task DisplayRuntimeException(HttpContext context, Exception ex) { + var endpoint = context.Features.Get()?.Endpoint; + + EndpointModel endpointModel = null; + if (endpoint != null) + { + endpointModel = new EndpointModel(); + endpointModel.DisplayName = endpoint.DisplayName; + + if (endpoint is RouteEndpoint routeEndpoint) + { + endpointModel.RoutePattern = routeEndpoint.RoutePattern.RawText; + endpointModel.Order = routeEndpoint.Order; + + var httpMethods = endpoint.Metadata.GetMetadata()?.HttpMethods; + if (httpMethods != null) + { + endpointModel.HttpMethods = string.Join(", ", httpMethods); + } + } + } + var request = context.Request; var model = new ErrorPageModel @@ -200,7 +224,9 @@ namespace Microsoft.AspNetCore.Diagnostics ErrorDetails = _exceptionDetailsProvider.GetDetails(ex), Query = request.Query, Cookies = request.Cookies, - Headers = request.Headers + Headers = request.Headers, + RouteValues = request.RouteValues, + Endpoint = endpointModel }; var errorPage = new ErrorPage(model); diff --git a/src/Middleware/Diagnostics/src/DeveloperExceptionPage/Views/CompilationErrorPage.Designer.cs b/src/Middleware/Diagnostics/src/DeveloperExceptionPage/Views/CompilationErrorPage.Designer.cs index d5342bf79a..718cd466b5 100644 --- a/src/Middleware/Diagnostics/src/DeveloperExceptionPage/Views/CompilationErrorPage.Designer.cs +++ b/src/Middleware/Diagnostics/src/DeveloperExceptionPage/Views/CompilationErrorPage.Designer.cs @@ -3,12 +3,12 @@ namespace Microsoft.AspNetCore.Diagnostics.RazorViews { #line hidden + using System.Threading.Tasks; #line 1 "CompilationErrorPage.cshtml" using System; #line default #line hidden - using System.Threading.Tasks; #line 2 "CompilationErrorPage.cshtml" using System.Globalization; @@ -62,11 +62,6 @@ using Microsoft.AspNetCore.Diagnostics.RazorViews; background-color: #fff; } -h1, h2, h3, h4, h5 { - /*font-family: 'Segoe UI',Tahoma,Arial,Helvetica,sans-serif;*/ - font-weight: 100; -} - h1 { color: #44525e; margin: 15px 0 15px 0; @@ -79,10 +74,12 @@ h2 { h3 { color: #363636; margin: 5px 5px 0 0; + font-weight: normal; } code { font-family: Consolas, ""Courier New"", courier, monospace; + font-weight: bold; } body .titleerror { @@ -112,10 +109,10 @@ body .location { cursor: pointer; } - #h"); - WriteLiteral(@"eader .selected { + #header .selected { background: #44c5f2; - color: #fff; + color: #fff"); + WriteLiteral(@"; } #stackpage ul { @@ -169,10 +166,15 @@ body .location { color: #606060; } +#routingpage .subheader { + padding: 5px; + border-bottom: 1px #ddd solid; +} + .page table { - border-collapse: separate; - bo"); - WriteLiteral(@"rder-spacing: 0; + border-collapse"); + WriteLiteral(@": separate; + border-spacing: 0; margin: 0 0 20px; } @@ -227,9 +229,9 @@ a { } .rawExceptionStackTrace { - font-size: 1.2em; -"); - WriteLiteral(@"} + "); + WriteLiteral(@"font-size: 1.2em; +} .rawExceptionBlock { border-top: 1px #ddd solid; @@ -259,21 +261,20 @@ a {

"); -#line 222 "CompilationErrorPage.cshtml" +#line 224 "CompilationErrorPage.cshtml" Write(Resources.ErrorPageHtml_CompilationException); #line default #line hidden WriteLiteral("

\r\n"); -#line 223 "CompilationErrorPage.cshtml" +#line 225 "CompilationErrorPage.cshtml" var exceptionDetailId = ""; #line default #line hidden - WriteLiteral(" "); -#line 226 "CompilationErrorPage.cshtml" +#line 228 "CompilationErrorPage.cshtml" for (var i = 0; i < Model.ErrorDetails.Count; i++) { var errorDetail = Model.ErrorDetails[i]; @@ -283,7 +284,7 @@ a { #line default #line hidden WriteLiteral("
\r\n"); -#line 232 "CompilationErrorPage.cshtml" +#line 234 "CompilationErrorPage.cshtml" var stackFrameCount = 0; var frameId = ""; @@ -294,39 +295,38 @@ a { #line default #line hidden WriteLiteral("
"); -#line 238 "CompilationErrorPage.cshtml" +#line 240 "CompilationErrorPage.cshtml" Write(fileName); #line default #line hidden WriteLiteral("
\r\n"); -#line 239 "CompilationErrorPage.cshtml" +#line 241 "CompilationErrorPage.cshtml" } #line default #line hidden - WriteLiteral(" "); -#line 241 "CompilationErrorPage.cshtml" +#line 243 "CompilationErrorPage.cshtml" if (!string.IsNullOrEmpty(errorDetail.ErrorMessage)) { #line default #line hidden WriteLiteral("
"); -#line 243 "CompilationErrorPage.cshtml" +#line 245 "CompilationErrorPage.cshtml" Write(errorDetail.ErrorMessage); #line default #line hidden WriteLiteral("
\r\n"); -#line 244 "CompilationErrorPage.cshtml" +#line 246 "CompilationErrorPage.cshtml" } #line default #line hidden WriteLiteral("
\r\n
    \r\n"); -#line 247 "CompilationErrorPage.cshtml" +#line 249 "CompilationErrorPage.cshtml" foreach (var frame in errorDetail.StackFrames) { stackFrameCount++; @@ -336,198 +336,198 @@ a { #line default #line hidden WriteLiteral("
  • "); -#line 267 "CompilationErrorPage.cshtml" +#line 269 "CompilationErrorPage.cshtml" Write(line); #line default #line hidden WriteLiteral("
  • \r\n"); -#line 268 "CompilationErrorPage.cshtml" +#line 270 "CompilationErrorPage.cshtml" } #line default #line hidden WriteLiteral(" \r\n"); -#line 270 "CompilationErrorPage.cshtml" +#line 272 "CompilationErrorPage.cshtml" } #line default #line hidden WriteLiteral("
\r\n"); -#line 287 "CompilationErrorPage.cshtml" +#line 289 "CompilationErrorPage.cshtml" } #line default #line hidden WriteLiteral(" \r\n"); -#line 289 "CompilationErrorPage.cshtml" +#line 291 "CompilationErrorPage.cshtml" } #line default #line hidden WriteLiteral(" \r\n
\r\n \r\n"); -#line 293 "CompilationErrorPage.cshtml" +#line 295 "CompilationErrorPage.cshtml" if (!string.IsNullOrEmpty(Model.CompiledContent[i])) { #line default #line hidden WriteLiteral("
\r\n
\r\n \r\n
\r\n
\r\n \r\n"); -#line 303 "CompilationErrorPage.cshtml" +#line 305 "CompilationErrorPage.cshtml" } #line default #line hidden -#line 303 "CompilationErrorPage.cshtml" +#line 305 "CompilationErrorPage.cshtml" } diff --git a/src/Middleware/Diagnostics/src/DeveloperExceptionPage/Views/EndpointModel.cs b/src/Middleware/Diagnostics/src/DeveloperExceptionPage/Views/EndpointModel.cs new file mode 100644 index 0000000000..b4b88187c5 --- /dev/null +++ b/src/Middleware/Diagnostics/src/DeveloperExceptionPage/Views/EndpointModel.cs @@ -0,0 +1,13 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Diagnostics.RazorViews +{ + internal class EndpointModel + { + public string DisplayName { get; set; } + public string RoutePattern { get; set; } + public int? Order { get; set; } + public string HttpMethods { get; set; } + } +} diff --git a/src/Middleware/Diagnostics/src/DeveloperExceptionPage/Views/ErrorPage.Designer.cs b/src/Middleware/Diagnostics/src/DeveloperExceptionPage/Views/ErrorPage.Designer.cs index ea4969b0ed..93e6126a1a 100644 --- a/src/Middleware/Diagnostics/src/DeveloperExceptionPage/Views/ErrorPage.Designer.cs +++ b/src/Middleware/Diagnostics/src/DeveloperExceptionPage/Views/ErrorPage.Designer.cs @@ -3,12 +3,12 @@ namespace Microsoft.AspNetCore.Diagnostics.RazorViews { #line hidden + using System.Threading.Tasks; #line 1 "ErrorPage.cshtml" using System; #line default #line hidden - using System.Threading.Tasks; #line 2 "ErrorPage.cshtml" using System.Globalization; @@ -75,11 +75,6 @@ WriteAttributeValue("", 543, CultureInfo.CurrentUICulture.TwoLetterISOLanguageNa background-color: #fff; } -h1, h2, h3, h4, h5 { - /*font-family: 'Segoe UI',Tahoma,Arial,Helvetica,sans-serif;*/ - font-weight: 100; -} - h1 { color: #44525e; margin: 15px 0 15px 0; @@ -92,10 +87,12 @@ h2 { h3 { color: #363636; margin: 5px 5px 0 0; + font-weight: normal; } code { font-family: Consolas, ""Courier New"", courier, monospace; + font-weight: bold; } body .titleerror { @@ -125,10 +122,10 @@ body .location { cursor: pointer; } - #h"); - WriteLiteral(@"eader .selected { + #header .selected { background: #44c5f2; - color: #fff; + color: #fff"); + WriteLiteral(@"; } #stackpage ul { @@ -182,10 +179,15 @@ body .location { color: #606060; } +#routingpage .subheader { + padding: 5px; + border-bottom: 1px #ddd solid; +} + .page table { - border-collapse: separate; - bo"); - WriteLiteral(@"rder-spacing: 0; + border-collapse"); + WriteLiteral(@": separate; + border-spacing: 0; margin: 0 0 20px; } @@ -240,9 +242,9 @@ a { } .rawExceptionStackTrace { - font-size: 1.2em; -"); - WriteLiteral(@"} + "); + WriteLiteral(@"font-size: 1.2em; +} .rawExceptionBlock { border-top: 1px #ddd solid; @@ -272,33 +274,33 @@ a {

"); -#line 228 "ErrorPage.cshtml" +#line 230 "ErrorPage.cshtml" Write(Resources.ErrorPageHtml_UnhandledException); #line default #line hidden WriteLiteral("

\r\n"); -#line 229 "ErrorPage.cshtml" +#line 231 "ErrorPage.cshtml" foreach (var errorDetail in Model.ErrorDetails) { #line default #line hidden WriteLiteral("
"); -#line 231 "ErrorPage.cshtml" +#line 233 "ErrorPage.cshtml" Write(errorDetail.Error.GetType().Name); #line default #line hidden WriteLiteral(": "); -#line 231 "ErrorPage.cshtml" +#line 233 "ErrorPage.cshtml" Output.Write(HtmlEncodeAndReplaceLineBreaks(errorDetail.Error.Message)); #line default #line hidden WriteLiteral("
\r\n"); -#line 232 "ErrorPage.cshtml" - +#line 234 "ErrorPage.cshtml" + var firstFrame = errorDetail.StackFrames.FirstOrDefault(); if (firstFrame != null) { @@ -310,33 +312,33 @@ a { #line default #line hidden WriteLiteral("

"); -#line 240 "ErrorPage.cshtml" +#line 242 "ErrorPage.cshtml" Write(location); #line default #line hidden WriteLiteral(" in

\r\n"); -#line 241 "ErrorPage.cshtml" +#line 243 "ErrorPage.cshtml" } else if (!string.IsNullOrEmpty(location)) { @@ -344,13 +346,13 @@ WriteAttributeValue("", 4958, firstFrame.File, 4958, 16, false); #line default #line hidden WriteLiteral("

"); -#line 244 "ErrorPage.cshtml" +#line 246 "ErrorPage.cshtml" Write(location); #line default #line hidden WriteLiteral("

\r\n"); -#line 245 "ErrorPage.cshtml" +#line 247 "ErrorPage.cshtml" } else { @@ -358,13 +360,13 @@ WriteAttributeValue("", 4958, firstFrame.File, 4958, 16, false); #line default #line hidden WriteLiteral("

"); -#line 248 "ErrorPage.cshtml" +#line 250 "ErrorPage.cshtml" Write(Resources.ErrorPageHtml_UnknownLocation); #line default #line hidden WriteLiteral("

\r\n"); -#line 249 "ErrorPage.cshtml" +#line 251 "ErrorPage.cshtml" } var reflectionTypeLoadException = errorDetail.Error as ReflectionTypeLoadException; @@ -376,26 +378,26 @@ WriteAttributeValue("", 4958, firstFrame.File, 4958, 16, false); #line default #line hidden WriteLiteral("

Loader Exceptions:

\r\n \r\n"); -#line 263 "ErrorPage.cshtml" +#line 265 "ErrorPage.cshtml" } } } @@ -403,31 +405,37 @@ WriteAttributeValue("", 4958, firstFrame.File, 4958, 16, false); #line default #line hidden WriteLiteral(" \r\n\r\n
\r\n
    \r\n"); -#line 283 "ErrorPage.cshtml" +#line 288 "ErrorPage.cshtml" var exceptionCount = 0; var stackFrameCount = 0; @@ -437,8 +445,7 @@ WriteAttributeValue("", 4958, firstFrame.File, 4958, 16, false); #line default #line hidden - WriteLiteral(" "); -#line 289 "ErrorPage.cshtml" +#line 294 "ErrorPage.cshtml" foreach (var errorDetail in Model.ErrorDetails) { exceptionCount++; @@ -448,267 +455,267 @@ WriteAttributeValue("", 4958, firstFrame.File, 4958, 16, false); #line default #line hidden WriteLiteral("
  • \r\n

    "); -#line 295 "ErrorPage.cshtml" +#line 300 "ErrorPage.cshtml" Write(errorDetail.Error.GetType().Name); #line default #line hidden WriteLiteral(": "); -#line 295 "ErrorPage.cshtml" +#line 300 "ErrorPage.cshtml" Write(errorDetail.Error.Message); #line default #line hidden WriteLiteral("

    \r\n
      \r\n"); -#line 297 "ErrorPage.cshtml" - foreach (var frame in errorDetail.StackFrames) - { - stackFrameCount++; - frameId = "frame" + stackFrameCount; +#line 302 "ErrorPage.cshtml" + foreach (var frame in errorDetail.StackFrames) + { + stackFrameCount++; + frameId = "frame" + stackFrameCount; #line default #line hidden - WriteLiteral("
    • "); -#line 321 "ErrorPage.cshtml" - Write(line); + WriteLiteral("
    • "); +#line 326 "ErrorPage.cshtml" + Write(line); #line default #line hidden WriteLiteral("
    • \r\n"); -#line 322 "ErrorPage.cshtml" - } +#line 327 "ErrorPage.cshtml" + } #line default #line hidden - WriteLiteral(" \r\n"); -#line 324 "ErrorPage.cshtml" - } + WriteLiteral(" \r\n"); +#line 329 "ErrorPage.cshtml" + } #line default #line hidden - WriteLiteral("\r\n
\r\n"); + WriteLiteral("
  • "); #line 343 "ErrorPage.cshtml" - } + Write(line); #line default #line hidden - WriteLiteral("
  • \r\n"); -#line 345 "ErrorPage.cshtml" - } + WriteLiteral("\r\n"); +#line 344 "ErrorPage.cshtml" + } + +#line default +#line hidden + WriteLiteral(" \r\n"); +#line 346 "ErrorPage.cshtml" + } + +#line default +#line hidden + WriteLiteral(" \r\n"); +#line 348 "ErrorPage.cshtml" + } + +#line default +#line hidden + WriteLiteral(" \r\n"); +#line 350 "ErrorPage.cshtml" + } #line default #line hidden WriteLiteral(@"
  • -
    +
    \r\n
    \r\n
    \r\n \r\n
  • \r\n"); -#line 359 "ErrorPage.cshtml" +#line 364 "ErrorPage.cshtml" } #line default #line hidden WriteLiteral(" \r\n \r\n\r\n
    \r\n"); -#line 364 "ErrorPage.cshtml" +#line 369 "ErrorPage.cshtml" if (Model.Query.Any()) { #line default #line hidden WriteLiteral(" \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"); -#line 374 "ErrorPage.cshtml" +#line 379 "ErrorPage.cshtml" foreach (var kv in Model.Query.OrderBy(kv => kv.Key)) { foreach (var v in kv.Value) @@ -717,26 +724,26 @@ WriteAttributeValue("", 10304, exceptionDetailId, 10304, 18, false); #line default #line hidden WriteLiteral(" \r\n \r\n \r\n \r\n"); -#line 382 "ErrorPage.cshtml" +#line 387 "ErrorPage.cshtml" } } #line default #line hidden WriteLiteral(" \r\n
    "); -#line 369 "ErrorPage.cshtml" +#line 374 "ErrorPage.cshtml" Write(Resources.ErrorPageHtml_VariableColumn); #line default #line hidden WriteLiteral(""); -#line 370 "ErrorPage.cshtml" +#line 375 "ErrorPage.cshtml" Write(Resources.ErrorPageHtml_ValueColumn); #line default #line hidden WriteLiteral("
    "); -#line 379 "ErrorPage.cshtml" +#line 384 "ErrorPage.cshtml" Write(kv.Key); #line default #line hidden WriteLiteral(""); -#line 380 "ErrorPage.cshtml" +#line 385 "ErrorPage.cshtml" Write(v); #line default #line hidden WriteLiteral("
    \r\n"); -#line 386 "ErrorPage.cshtml" +#line 391 "ErrorPage.cshtml" } else { @@ -744,63 +751,63 @@ WriteAttributeValue("", 10304, exceptionDetailId, 10304, 18, false); #line default #line hidden WriteLiteral("

    "); -#line 389 "ErrorPage.cshtml" +#line 394 "ErrorPage.cshtml" Write(Resources.ErrorPageHtml_NoQueryStringData); #line default #line hidden WriteLiteral("

    \r\n"); -#line 390 "ErrorPage.cshtml" +#line 395 "ErrorPage.cshtml" } #line default #line hidden WriteLiteral("
    \r\n\r\n
    \r\n"); -#line 394 "ErrorPage.cshtml" +#line 399 "ErrorPage.cshtml" if (Model.Cookies.Any()) { #line default #line hidden WriteLiteral(" \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"); -#line 404 "ErrorPage.cshtml" +#line 409 "ErrorPage.cshtml" foreach (var kv in Model.Cookies.OrderBy(kv => kv.Key)) { #line default #line hidden WriteLiteral(" \r\n \r\n \r\n \r\n"); -#line 410 "ErrorPage.cshtml" +#line 415 "ErrorPage.cshtml" } #line default #line hidden WriteLiteral(" \r\n
    "); -#line 399 "ErrorPage.cshtml" +#line 404 "ErrorPage.cshtml" Write(Resources.ErrorPageHtml_VariableColumn); #line default #line hidden WriteLiteral(""); -#line 400 "ErrorPage.cshtml" +#line 405 "ErrorPage.cshtml" Write(Resources.ErrorPageHtml_ValueColumn); #line default #line hidden WriteLiteral("
    "); -#line 407 "ErrorPage.cshtml" +#line 412 "ErrorPage.cshtml" Write(kv.Key); #line default #line hidden WriteLiteral(""); -#line 408 "ErrorPage.cshtml" +#line 413 "ErrorPage.cshtml" Write(kv.Value); #line default #line hidden WriteLiteral("
    \r\n"); -#line 413 "ErrorPage.cshtml" +#line 418 "ErrorPage.cshtml" } else { @@ -808,38 +815,38 @@ WriteAttributeValue("", 10304, exceptionDetailId, 10304, 18, false); #line default #line hidden WriteLiteral("

    "); -#line 416 "ErrorPage.cshtml" +#line 421 "ErrorPage.cshtml" Write(Resources.ErrorPageHtml_NoCookieData); #line default #line hidden WriteLiteral("

    \r\n"); -#line 417 "ErrorPage.cshtml" +#line 422 "ErrorPage.cshtml" } #line default #line hidden - WriteLiteral("
    \r\n
    \r\n"); -#line 420 "ErrorPage.cshtml" + WriteLiteral("
    \r\n\r\n
    \r\n"); +#line 426 "ErrorPage.cshtml" if (Model.Headers.Any()) { #line default #line hidden WriteLiteral(" \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"); -#line 430 "ErrorPage.cshtml" +#line 436 "ErrorPage.cshtml" foreach (var kv in Model.Headers.OrderBy(kv => kv.Key)) { foreach (var v in kv.Value) @@ -848,26 +855,26 @@ WriteAttributeValue("", 10304, exceptionDetailId, 10304, 18, false); #line default #line hidden WriteLiteral(" \r\n \r\n \r\n \r\n"); -#line 438 "ErrorPage.cshtml" +#line 444 "ErrorPage.cshtml" } } #line default #line hidden WriteLiteral(" \r\n
    "); -#line 425 "ErrorPage.cshtml" +#line 431 "ErrorPage.cshtml" Write(Resources.ErrorPageHtml_VariableColumn); #line default #line hidden WriteLiteral(""); -#line 426 "ErrorPage.cshtml" +#line 432 "ErrorPage.cshtml" Write(Resources.ErrorPageHtml_ValueColumn); #line default #line hidden WriteLiteral("
    "); -#line 435 "ErrorPage.cshtml" +#line 441 "ErrorPage.cshtml" Write(kv.Key); #line default #line hidden WriteLiteral(""); -#line 436 "ErrorPage.cshtml" +#line 442 "ErrorPage.cshtml" Write(v); #line default #line hidden WriteLiteral("
    \r\n"); -#line 442 "ErrorPage.cshtml" +#line 448 "ErrorPage.cshtml" } else { @@ -875,18 +882,219 @@ WriteAttributeValue("", 10304, exceptionDetailId, 10304, 18, false); #line default #line hidden WriteLiteral("

    "); -#line 445 "ErrorPage.cshtml" +#line 451 "ErrorPage.cshtml" Write(Resources.ErrorPageHtml_NoHeaderData); #line default #line hidden WriteLiteral("

    \r\n"); -#line 446 "ErrorPage.cshtml" +#line 452 "ErrorPage.cshtml" + } + +#line default +#line hidden + WriteLiteral("
    \r\n\r\n
    \r\n

    "); +#line 456 "ErrorPage.cshtml" + Write(Resources.ErrorPageHtml_Endpoint); + +#line default +#line hidden + WriteLiteral("

    \r\n"); +#line 457 "ErrorPage.cshtml" + if (Model.Endpoint != null) + { + +#line default +#line hidden + WriteLiteral(" \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"); +#line 471 "ErrorPage.cshtml" + if (!string.IsNullOrEmpty(Model.Endpoint.RoutePattern)) + { + +#line default +#line hidden + WriteLiteral(" \r\n \r\n \r\n \r\n"); +#line 477 "ErrorPage.cshtml" + } + +#line default +#line hidden +#line 478 "ErrorPage.cshtml" + if (Model.Endpoint.Order != null) + { + +#line default +#line hidden + WriteLiteral(" \r\n \r\n \r\n \r\n"); +#line 484 "ErrorPage.cshtml" + } + +#line default +#line hidden +#line 485 "ErrorPage.cshtml" + if (!string.IsNullOrEmpty(Model.Endpoint.HttpMethods)) + { + +#line default +#line hidden + WriteLiteral(" \r\n \r\n \r\n \r\n"); +#line 491 "ErrorPage.cshtml" + } + +#line default +#line hidden + WriteLiteral(" \r\n
    "); +#line 462 "ErrorPage.cshtml" + Write(Resources.ErrorPageHtml_NameColumn); + +#line default +#line hidden + WriteLiteral(""); +#line 463 "ErrorPage.cshtml" + Write(Resources.ErrorPageHtml_ValueColumn); + +#line default +#line hidden + WriteLiteral("
    "); +#line 468 "ErrorPage.cshtml" + Write(Resources.ErrorPageHtml_EndpointDisplayName); + +#line default +#line hidden + WriteLiteral(""); +#line 469 "ErrorPage.cshtml" + Write(Model.Endpoint.DisplayName); + +#line default +#line hidden + WriteLiteral("
    "); +#line 474 "ErrorPage.cshtml" + Write(Resources.ErrorPageHtml_EndpointRoutePattern); + +#line default +#line hidden + WriteLiteral(""); +#line 475 "ErrorPage.cshtml" + Write(Model.Endpoint.RoutePattern); + +#line default +#line hidden + WriteLiteral("
    "); +#line 481 "ErrorPage.cshtml" + Write(Resources.ErrorPageHtml_EndpointRouteOrder); + +#line default +#line hidden + WriteLiteral(""); +#line 482 "ErrorPage.cshtml" + Write(Model.Endpoint.Order); + +#line default +#line hidden + WriteLiteral("
    "); +#line 488 "ErrorPage.cshtml" + Write(Resources.ErrorPageHtml_EndpointRouteHttpMethod); + +#line default +#line hidden + WriteLiteral(""); +#line 489 "ErrorPage.cshtml" + Write(Model.Endpoint.HttpMethods); + +#line default +#line hidden + WriteLiteral("
    \r\n"); +#line 494 "ErrorPage.cshtml" + } + else + { + +#line default +#line hidden + WriteLiteral("

    "); +#line 497 "ErrorPage.cshtml" + Write(Resources.ErrorPageHtml_NoEndpoint); + +#line default +#line hidden + WriteLiteral("

    \r\n"); +#line 498 "ErrorPage.cshtml" + } + +#line default +#line hidden + WriteLiteral("

    "); +#line 499 "ErrorPage.cshtml" + Write(Resources.ErrorPageHtml_RouteValues); + +#line default +#line hidden + WriteLiteral("

    \r\n"); +#line 500 "ErrorPage.cshtml" + if (Model.RouteValues != null && Model.RouteValues.Any()) + { + +#line default +#line hidden + WriteLiteral(" \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"); +#line 510 "ErrorPage.cshtml" + foreach (var kv in Model.RouteValues.OrderBy(kv => kv.Key)) + { + +#line default +#line hidden + WriteLiteral(" \r\n \r\n \r\n \r\n"); +#line 516 "ErrorPage.cshtml" + } + +#line default +#line hidden + WriteLiteral(" \r\n
    "); +#line 505 "ErrorPage.cshtml" + Write(Resources.ErrorPageHtml_VariableColumn); + +#line default +#line hidden + WriteLiteral(""); +#line 506 "ErrorPage.cshtml" + Write(Resources.ErrorPageHtml_ValueColumn); + +#line default +#line hidden + WriteLiteral("
    "); +#line 513 "ErrorPage.cshtml" + Write(kv.Key); + +#line default +#line hidden + WriteLiteral(""); +#line 514 "ErrorPage.cshtml" + Write(kv.Value); + +#line default +#line hidden + WriteLiteral("
    \r\n"); +#line 519 "ErrorPage.cshtml" + } + else + { + +#line default +#line hidden + WriteLiteral("

    "); +#line 522 "ErrorPage.cshtml" + Write(Resources.ErrorPageHtml_NoRouteValues); + +#line default +#line hidden + WriteLiteral("

    \r\n"); +#line 523 "ErrorPage.cshtml" } #line default #line hidden WriteLiteral(@"
    +