Проблема
Сценарий:
- Книга Excel с подключенными к ней формулами RTD мой сервер RTD
- Источник отключается
- Источник появляется снова
- Мой сервер RTD успешно повторно подключается к источнику
- Мой сервер RTD вызывает UpdateNotify(), чтобы сигнализировать Excel о доступности данных
- Excel никогда не вызывает RefreshData() – ячейки остаются замороженными со старыми значениями.
- Excel последовательно вызывает Heartbeat() каждые 15 секунд
- Мой сервер RTD успешно повторно подключается к Источник
- выполняются без исключений.
Код: Выделить всё
UpdateNotify()Вызовы - Темы RTD поставлены в очередь и ждут в RefreshData().
- Excel полностью игнорирует вызовы UpdateNotify()
- Вызовы RefreshData() не происходят, несмотря на более 20 попыток UpdateNotify() в течение более 5 минут.
- Ячейки Excel RTD отображают устаревшие данные до отключения.
- Последняя версия Excel из Office 365, работающая на Win11 x64
- Сервер C# RTD (.NET Framework 4.8, реализация интерфейса IRtdServer)
Как рабочие серверы RTD обрабатывают повторное подключение к источнику данных, когда обратный вызов COM Excel перестает отвечать на запросы UpdateNotify()?
Существуют ли какие-либо известные закономерности или обходные пути, которые заставят Excel вызывать RefreshData() после повторного подключения базового источника данных?
Подробнее здесь: https://stackoverflow.com/questions/797 ... o-force-re