0

我使用 C# 编写了一个 Windows 服务,它使用 lotus domino interopdll 与 lotus notes 服务器通信并发送电子邮件。几个月前它运行良好。当我重建解决方案时,我收到以下错误:

试图读取或写入受保护的内存,这通常表明其他内存已损坏

_notesDataBase = _notesSession.GetDatabase(serverName, sMailFile, false);

错误发生在上面指定的行中。

附加信息:我最近更改了邮箱的 Lotus Notes 服务器密码。我发现 Lotus Notes 的 ID 文件可能有问题?

4

1 回答 1

1

我遇到过同样的问题!
Session.GetDatabase()被调用时,异常会在其中一个子线程中抛出,因此几乎不可能找出实际导致问题的原因。

这对我有帮助:

  1. 卸载 Lotus Notes
  2. 备份我的本地数据库文件
    这个网站应该给你一个很好的概述,让你知道什么可能很重要。它是德语的,但它的帮助永远不会少。
  3. 删除注册表条目
    我删除了 和 下的HKEY_LOCAL_MACHINE条目HKEY_CURRENT_USER
    只需寻找Software,您就会在那里找到 IBM。
    更多 IBM 的东西隐藏在HKEY-LOCAL-MACHINE --> SOFTWARE --> Wow6432Node.
  4. 重新安装 Lotus Notes

这很好地解决了我的问题。
错误的真正来源尚未被发现......


编辑:
运行安装程序并选择repair.

于 2016-08-24T12:33:37.537 回答