#c# #.net #outlook #outlook-addin
#c# #.net #outlook #outlook-добавление
Вопрос:
Я разработал надстройку Outlook и использую ItemAdd каждый раз, когда в папку Входящие приходит новый элемент. Он работает нормально, но когда я открываю Outlook через несколько часов / дней, он был закрыт, он не работает.
Я искал в Интернете и обнаружил, что ItemAdd поддерживает максимум 16 элементов. В некоторых случаях у меня может быть более 200 элементов. Как я могу расширить это число??
Заранее благодарю вас!
Ответ №1:
ограничение на 16 элементов — это отвлекающий маневр — ваша проблема в том, что ваш код не выполняется при добавлении элементов. События не будут запускаться при запуске Outlook — насколько ему известно, элементы были там целую вечность. Вам необходимо самостоятельно обрабатывать «новые» элементы (непрочитанные элементы, элементы, отсутствующие в вашем списке, И т. Д.).
Самое главное, вы не должны использовать события для какой-либо синхронизации — они предназначены для использования в целях пользовательского интерфейса.
Комментарии:
1. Возможно, было бы неплохо получить все непрочитанные элементы и поработать с ними? Например, сканировать входящие каждые x минут и перемещать / удалять их и т. Д.? Это может вызвать какие-либо проблемы со скоростью?
2. Да, вы можете обрабатывать все непрочитанные элементы при запуске (при условии, что пользователь не пометил их как прочитанные, например, из мобильного Outlook). Лучше сохранить время создания последнего обработанного вами элемента и использовать запрос для CreationTime при вызове элементов. Найти / FindNext. Товары. Событие ItemAdd может служить подсказкой о том, что вам нужно запустить код синхронизации сейчас, а не позже.
3. Спасибо! Обещаю принять ваш первоначальный ответ, если я заставлю его работать в ближайшие дни! 🙂