Я пытаюсь создать промежуточное программное обеспечение для обработки исключений, в результате которого 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;
}
}