Мне было интересно, как я могу реализовать обработку исключений в моем компоненте представления.Оборачивание логики из моего метода действия в блоки try catch не перехватывает никаких исключений, возникающих внутри самой логики компонента view, и я не хочу, чтобы приложение перестало функционировать независимо от каких-либо ошибок.Это то, что я делаю до сих пор и пытаюсь выполнить:
Метод действия -
public IActionResult LoadComments(int id)
{
try
{
return ViewComponent("CardComments", new { id });
}
catch (SqlException e)
{
return RedirectToAction("Error", "Home");
}
}
Повторюсь, это не перехватывает исключение SqlException внутрипросмотреть сам компонент и перенаправить.
Просмотреть компонент -
public class CardCommentsViewComponent : ViewComponent
{
public async Task<IViewComponentResult> InvokeAsync(int id)
{
try
{
IEnumerable<CardCommentData> comments = await DbHelper.GetCardCommentData(id);
return View(comments);
}
catch (SqlException e)
{
//Redirect from here if possible?
}
}
Можно ли выполнить это с помощью метода действия?Если нет, как я могу перенаправить из самого компонента просмотра?Я попытался исследовать эту проблему и пришел пустой.Любая информация будет полезна.Спасибо!