Вызов Domino Interop приводит к сбою вызывающего приложения и Lotus Notes Client.

1

Наше приложение хочет показать встречи из Lotus Notes в календаре. Мы делаем это с помощью Domino.interop. Для некоторых пользователей все запущенные Notes 9.0.1FP2 приложение иногда просто умирает.

Обычный сценарий заключается в том, что пользователь открывает календарь для отображения заметок Notes, затем он переходит на другую страницу приложения. После этого он оставляет приложение один час или около того, затем, возвращаясь и обновляя приложение, он просто молча закрывается, не показывая сообщение об ошибке. Затем отладчик системы Notes запускает и регистрирует некоторые ошибки. В нем говорится, что есть ACCESS_VIOLATION. После этого Клиент Notes сбой.

Наше приложение написано на С#, и мы слушаем необработанные исключения на тему, а также событие AppDomain.UnhandledException. Такое событие не происходит.

Когда я обращаюсь к Domino.interop, это делается как COM-вызов процесса, который, конечно, может привести к сбою вызывающего приложения, но как он может вызвать сбой клиента Notes? В конце концов, это другой процесс.

Здесь чувствуется что-то странное.

  • 0
    Обращались ли вы в службу технической поддержки IBM, чтобы сообщить им об инциденте? Клиент Notes должен сохранять данные (файл .nsd и некоторые другие) в папке технической поддержки IBM, которую они должны уметь интерпретировать. Что касается того, почему Notes Client дает сбой в дополнение к вашему процессу, на самом деле нет полной изоляции между клиентом и автономным процессом, использующим API Notes. За кулисами в DLL-библиотеках ядра Notes много общей памяти.
Теги:
c#-4.0
lotus-notes
com-interop

1 ответ

0

У меня была проблема simalar.

Когда вы вызываете Session.GetDatabase() исключение генерируется в одном из подпоток.
Вот что мне помогло:

  1. Удаление Lotus Notes
  2. Резервное копирование моих локальных файлов базы данных
    Этот веб-сайт должен дать вам хороший обзор того, что может быть важно сохранить. Это на немецком, но это должно помочь тем не менее.
  3. Удаление записей в реестре
    Я удалил записи в HKEY_LOCAL_MACHINE и HKEY_CURRENT_USER.
    Просто найдите Software и вы должны найти там IBM.
    Еще кое-что из IBM было скрыто в HKEY-LOCAL-MACHINE --> SOFTWARE --> Wow6432Node.
  4. Переустановка Lotus Notes

Это оборачивало проблему для меня красиво и аккуратно.
Реальный источник ошибки еще предстоит обнаружить...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню