Как сделать Razor Page в промежуточном программном обеспечении и вернуть его в качестве ответа в ядре asp.net 2.2 - PullRequest
0 голосов
/ 24 октября 2019

Я пытаюсь создать промежуточное программное обеспечение для обработки исключений, в результате которого Razore Page восстанавливается. Я хочу вернуть Razore Page в ответ на пользовательское промежуточное ПО, есть ли способ сделать это? Я не могу найти какой-либо способ вернуть страницу с обработанной бритвой.

Вот мой код

public class ExceptionMiddleware
{
    private readonly RequestDelegate _next;
    private readonly ILoggerFactory _loggerFactory;

    public ExceptionMiddleware(RequestDelegate next, ILoggerFactory loggerFactory)
    {
        _loggerFactory = loggerFactory;
        _next = next;
    }

    public async Task InvokeAsync(HttpContext httpContext)
    {
        try
        {
            await _next(httpContext);
        }
        catch (Exception ex)
        {
            await HandleExceptionAsync(httpContext, ex);
        }
    }

    private async Task HandleExceptionAsync(HttpContext context, Exception exception)
    {
        context.Response.ContentType = "application/json";
        context.Response.StatusCode = (int)HttpStatusCode.InternalServerError;

        string exceptionPath = context.Request.Path;

        var logger = _loggerFactory.CreateLogger("Global exception logger");
        logger.LogError(500, exception, exception.Message);

        //How can return existing razor page in here ?

        // await Task.CompletedTask;
    }


}
...