Проблема обновления надстройки Express RTD - PullRequest
0 голосов
/ 24 февраля 2012

Надстройка Excel с использованием надстройки Express, VS2010, cometd.net общается с сервером Cometd и Tom Cat В обработчике событий RTDInitialize я захожу в Tom Cat и подключаюсь к серверу cometd, использую экземпляр учетных данных класса, чтобы запомнить его loggedOn (для IsLoggedOn установлено значение true) и sessionID.

В обработчике RefreshData темы я зарегистрируюсь на сервере cometd, если еще не зарегистрировался. Тогда я подпишу тему на Tom Cat. Теперь, когда пользователи удаляют функцию RTD из Excel, Вызывается обработчик DisconnectData, в нем я отключаюсь от сервера cometd, выхожу из Tom Cat, очищаю sessionID. В следующий раз, когда пользователи снова войдут в функцию RTD, она вызовет обработчик события RTDInitialize, войдет в систему и подключится, где IsLoggoned имеет значение true, а sessionID обновляется. Странно то, что после второго входа в систему, в refreshData я проверяю учетные данные, IsLogged становится ложным, а sessionID пустым, как это было при первом выходе из системы. Кто-нибудь знает почему? не уверен, если я сделаю это ясно. Спасибо

1 Ответ

1 голос
/ 27 февраля 2012

Полагаю, в ваших тестах есть только одна тема.Я полагаю, что вы храните ссылку на «экземпляр учетных данных класса» на уровне класса модуля RTD-сервера.И когда вы удаляете тему, модуль RTD-сервера уничтожается;это убивает информацию о предыдущем соединении.Если вы считаете, что я неправильно понял проблему, уточните.

...