【问题标题】:Attempting to read or write protected memory试图读取或写入受保护的内存
【发布时间】:2012-11-06 12:33:20
【问题描述】:

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

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

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

上面指定的行发生错误。

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

【问题讨论】:

  • 纯粹出于病态的好奇心 - 为什么您会费心制作屏幕截图,而不是复制粘贴代码?
  • 我连接到远程机器上,如果你截图会简单很多。
  • 我冒昧为您打了出来。
  • 您能捕获并发布此错误的完整堆栈跟踪吗?
  • 哈哈 3 年才收到第一个回复 :D

标签: c# com-interop lotus-notes lotus-domino


【解决方案1】:

我也遇到了同样的问题!
Session.GetDatabase() 被调用时,异常被抛出到它的一个子线程中,几乎不可能找出真正导致问题的原因。

这对我有帮助:

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

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


编辑:
运行安装程序并选择repair就足够了。

【讨论】:

    猜你喜欢
    • 2011-01-08
    • 2012-09-21
    • 2012-04-16
    • 2020-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多