В приложении, которое я создаю, у меня есть два компонента, которые я хочу, чтобы пользователь мог приостановить / возобновить. Мне интересно, какие стандартные шаблоны могут существовать для поддержки приостановки и возобновления, если таковые имеются? Оба компонента выполняют много операций сетевого ввода-вывода. Похоже, что на высоком уровне я должен сохранить текущую очередь работы, которая есть у каждого компонента, - но это постоянное место, где я ищу эти стандартные шаблоны? Могу ли я сериализовать сам компонент? Я сериализирую только работу? В каком формате я сериализую (xml, база данных и т. Д.)? Что может помочь встроенное .NET? Есть ли библиотеки, чтобы помочь с этим? Есть ли какие-либо различия, которые следует учитывать, если пользователь просто приостанавливает / возобновляет работу в том же сеансе приложения или если он приостанавливает / возобновляет работу после открытия, закрытия и повторного открытия приложения? Как насчет сохранения этой информации на разных компьютерах?
Какие-нибудь предложения из прошлого опыта или моделей, которые приходят на ум? Я надеюсь, что это превращается в большее обсуждение различных способов сделать это и плюсы / минусы каждого. Спасибо.