Прервать вызовы API при переключении между представлениями в WPF ⇐ C#
-
Anonymous
Прервать вызовы API при переключении между представлениями в WPF
Мое приложение WPF имеет вверху панель с кнопками, которые позволяют пользователям переключаться между экранами.
XAML:
// КНОПКА ОПРОСА КОМИССИИ // КНОПКА ПРАКТИКИ СНИМКА // СОДЕРЖИМОЕ, которое динамически меняется, когда пользователи нажимают на кнопки Модель просмотра:
частный объект _currentView; общедоступный объект CurrentView { получить {вернуться _currentView; } установить { _currentView = значение; ПриИзмененииСвойства(); } } общественный ICommand FeeSurveyCommand {get; набор; } общественный ICommand PracticeSnapshotCommand {get; набор; } частная пустота FeeSurvey (объект obj) { CurrentView = новый FeeSurveyVM(); } частная пустота PracticeSnapshot (объект obj) { CurrentView = новый PracticeSnapshotVM(); } // КОНСТРУКТОР публичный MainViewVM() { FeeSurveyCommand = новая RelayCommand (FeeSurvey); PracticeSnapshotCommand = новая RelayCommand(PracticeSnapshot); } Итак, когда пользователь нажимает кнопку, он создает экземпляр модели представления (пример: FeeSurveyVM или PracticeSnapshotVM). Каждая модель представления связана с представлением. При визуализации нового представления вызывается несколько API. Проблема, с которой я сталкиваюсь, заключается в том, что когда пользователь переключает представления, вызовы API не прерываются. Допустим, кто-то переключается между этими представлениями, и если в вызовах API возникают ошибки (например, ошибки 404, 400, 500), появляется куча сообщений об ошибках ранее посещенных представлений, даже если я переключился на Другая точка зрения. Есть ли способ отменить/прервать эти вызовы API при изменении представления? Я искал решение, но безуспешно.
Мое приложение WPF имеет вверху панель с кнопками, которые позволяют пользователям переключаться между экранами.
XAML:
// КНОПКА ОПРОСА КОМИССИИ // КНОПКА ПРАКТИКИ СНИМКА // СОДЕРЖИМОЕ, которое динамически меняется, когда пользователи нажимают на кнопки Модель просмотра:
частный объект _currentView; общедоступный объект CurrentView { получить {вернуться _currentView; } установить { _currentView = значение; ПриИзмененииСвойства(); } } общественный ICommand FeeSurveyCommand {get; набор; } общественный ICommand PracticeSnapshotCommand {get; набор; } частная пустота FeeSurvey (объект obj) { CurrentView = новый FeeSurveyVM(); } частная пустота PracticeSnapshot (объект obj) { CurrentView = новый PracticeSnapshotVM(); } // КОНСТРУКТОР публичный MainViewVM() { FeeSurveyCommand = новая RelayCommand (FeeSurvey); PracticeSnapshotCommand = новая RelayCommand(PracticeSnapshot); } Итак, когда пользователь нажимает кнопку, он создает экземпляр модели представления (пример: FeeSurveyVM или PracticeSnapshotVM). Каждая модель представления связана с представлением. При визуализации нового представления вызывается несколько API. Проблема, с которой я сталкиваюсь, заключается в том, что когда пользователь переключает представления, вызовы API не прерываются. Допустим, кто-то переключается между этими представлениями, и если в вызовах API возникают ошибки (например, ошибки 404, 400, 500), появляется куча сообщений об ошибках ранее посещенных представлений, даже если я переключился на Другая точка зрения. Есть ли способ отменить/прервать эти вызовы API при изменении представления? Я искал решение, но безуспешно.
Мобильная версия