Я использовал эту модель ServiceResponse для передачи данных между серверной частью функции Azure и внешним интерфейсом Blazor WebAssembly:
Код: Выделить всё
public class ServiceResponse
{
public T? Data { get; set; }
public bool Success { get; set; } = true;
public string Message { get; set; } = string.Empty;
}
Внутри моих компонентов Razor я использовал что-то вроде этого:
Код: Выделить всё
@if(Error)
{
@ErrorMessage
}
else
{
// page content
}
@code
{
private Data Data { get; set; } = new();
private bool Error = false;
private string ErrorMessage = string.Empty;
protected override async Task OnInitializedAsync()
{
var response = Service.GetData();
if(!response.Success)
{
Error = true;
ErrorMessage = response.Message;
}
Data = response.Data!;
}
}
Мне нужны рекомендации по лучшим методам обработки ошибок и их отображения во внешнем интерфейсе. В частности, мне хотелось бы знать, как структурировать обработку ошибок, чтобы, когда один компонент не может загрузить свои данные, он мог отображать сообщение об ошибке только для этого компонента, не нарушая работу других компонентов на странице. Я также хотел бы избежать повторения операторов if и ручной проверки ошибок для каждого внутреннего вызова, если есть более чистый подход.
Подробнее здесь:
https://stackoverflow.com/questions/798 ... ebassembly