Как обрабатывать ошибки в Blazor WebAssembly?C#

Место общения программистов C#
Ответить
Anonymous
 Как обрабатывать ошибки в Blazor WebAssembly?

Сообщение Anonymous »

Я использовал эту модель 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»