Однако оно не охватывает обновление локального кэша обновленным значением HighestModSeq.В частности, как получить новое значение?
После Open()
в папке (независимо от того, какую перегрузку вы используете) будет установлено свойство ImapFolder.HighestModSeq
.
Когда подходящее время для его получения?
Я бы, вероятно, не сразу установил значение в кеше после открытия папки, пока вы не выполните синхронизацию с сервером.Однако, как только вы это сделаете, я обновлю кэшированное значение и постараюсь сохранить его в актуальном состоянии.
Я предполагаю, что оно изменится после любого события MessagesVanished, CountChanged или MessageFlagsChanged.
Существует событие folder.HighestModSeqChanged
, которое вы можете прослушать.Это событие генерируется в следующих случаях:
- код ответа HIGHESTMODSEQ отправляется сервером (означает, что значение изменилось)
- Пользователь вызвал один из
Fetch()
перегрузок и значение MODSEQ, превышающее текущее значение HighestModSeq папки, встречается в ответе FETCH.
Я обновил другой ответ, добавив в него логику для обновления кэшированного HighestModSeq, а такжеЗначения UidValidity.