Я пытаюсь создать страницу службы ошибок, которая при вызове определяет тип возникшего исключения и правильно обрабатывает код. Если исключение относится к типу «redirect», оно должно отправить пользователя на страницу входа (в целях тестирования я просто использую домашнюю страницу «/»).
Я пытаюсь использовать NavigationMangager.NavigateTo ("/"), но сталкиваюсь с исключением из нулевой точки всякий раз, когда достигаю этого вызова функции. Я некоторое время искал решение этой проблемы, но все, что я вижу, - это использование NavigationManager в файлах .razor, и я пытаюсь выполнить это в службе .cs. Это сейчас невозможно или я просто что-то делаю не так? Я включил весь соответствующий код из моего файла "ErrorProcessingService.cs" ниже, любая помощь будет оценена.
using ToDoList.Pages;
using Microsoft.AspNetCore.Components;
namespace ToDoList.ExceptionHandler
{
public class ErrorProcessingService
{
[Inject]
protected NavigationManager NavigationManager {get; set;}
public void processError(ErrorTypes.errorType et)
{
new ErrorTypes();
switch(et)
{
case ErrorTypes.errorType.ignore:
//To Be Implemented
break;
case ErrorTypes.errorType.popup:
//To Be Implemented
break;
case ErrorTypes.errorType.redirect:
NavigationManager.NavigateTo("/");
break;
}
}
}
}