简体   繁体   English

调用Domino interop会使调用应用程序和Lotus Notes Client崩溃

[英]Calling Domino interop crashes calling application and Lotus Notes Client

Our application wants to show appointments from Lotus Notes in a calendar. 我们的应用程序希望在日历中显示Lotus Notes中的约会。 We do this by using Domino.interop. 我们通过使用Domino.interop来做到这一点。 For some users all running Notes 9.0.1FP2 the application sometimes just dies. 对于某些都运行Notes 9.0.1FP2的用户,应用程序有时会死掉。

The usual scenario is that the user open the calendar to show Notes appointments, then he navigates to another page in the application. 通常的情况是,用户打开日历以显示Notes约会,然后导航到应用程序中的另一个页面。 After this he leaves the application alone for an hour or so, then when coming back and refreshing the application, it just silently closes without showing an error message. 之后,他将应用程序闲置了一个小时左右,然后在返回并刷新应用程序时,它只是默默地关闭而没有显示错误消息。 Then the Notes System Debugger kicks in and logs some errors. 然后,Notes系统调试器启动并记录一些错误。 It says there is a ACCESS_VIOLATION. 它说有一个ACCESS_VIOLATION。 After that the Notes Client crashes. 之后,Notes Client崩溃。

Our application is written in C# and we listen to unhandled Thread exceptions as well as AppDomain.UnhandledException event. 我们的应用程序是用C#编写的,我们监听未处理的线程异常以及AppDomain.UnhandledException事件。 No such event happens. 不会发生此类事件。

When I access Domino.interop it is done as a COM in process call, which of course can cause the calling application to crash, but how can it make the Notes Client crash as well? 当我访问Domino.interop时,它是作为COM进程调用完成的,这当然会导致调用应用程序崩溃,但是它又如何使Notes Client崩溃呢? After all it is a different process. 毕竟这是一个不同的过程。

It feels something strange is going on here. 感觉这里有些奇怪。

I had a simalar Problem. 我有一个严重的问题。

When you call Session.GetDatabase() the exception gets thrown in one of it's sub Threads. 当您调用Session.GetDatabase()该异常将被引发在其子线程之一中。
Here is what helped me: 这对我有帮助:

  1. Deinstalling Lotus Notes 卸载Lotus Notes
  2. Backing up my local Database files 备份我的本地数据库文件
    This website should give you a good overview on what might be important to keep. 网站应为您提供关于可能要保留的重要内容的良好概述。 It is in german but it should help never the less. 它是德语,但它应该提供更多帮助。
  3. Deleting Registry entries 删除注册表项
    I deleted entries under HKEY_LOCAL_MACHINE and HKEY_CURRENT_USER . 我删除了HKEY_LOCAL_MACHINEHKEY_CURRENT_USER下的条目。
    Just look for Software and you should find IBM there. 只要寻找Software ,您就可以在那找到IBM。
    Some more IBM stuff was hidden in HKEY-LOCAL-MACHINE --> SOFTWARE --> Wow6432Node . HKEY-LOCAL-MACHINE --> SOFTWARE --> Wow6432Node隐藏了更多IBM东西。
  4. Reinstalling Lotus Notes 重新安装Lotus Notes

This wrapped up the problem for me nice and neatly. 这很好地为我解决了这个问题。
The real source of the bug is yet to be discoverd... 该错误的真正来源尚未发现。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 使用Interop.Domino.dll读取Lotus Notes和Domino邮箱 - Reading Lotus Notes & Domino Mailbox using Interop.Domino.dll 使用Interop.Domino访问应用程序Lotus脚本 - Accessing application lotus scripts based using Interop.Domino 如何使用“ Interop.Domino.dll”(C#)获取Lotus Notes密码(在本地计算机上)? - How to get Lotus Notes Password (on local machine) using “Interop.Domino.dll” (C#)? 如何使用INTEROP.DOMINO.DLL从Lotus Notes RichText字段获取链接,图像数据 - How to get link, image data from Lotus Notes RichText field using INTEROP.DOMINO.DLL 在 asp.net/C3 中访问 Domino 邮件而不安装 Lotus Notes 客户端 - Accessing Domino mails in asp.net/C3 without installing Lotus Notes Client 调用PostAsync方法会使应用程序崩溃 - Calling the PostAsync method crashes the application 如何从Domino服务器获取Lotus Notes事件日历数据? - How to take Lotus Notes Event Calendar data From the Domino Server? c#在Lotus Sent文件夹中保存已发送的电子邮件(domino interop) - c# save sent email in Lotus Sent folder (domino interop) Lotus Notes C#互操作,尝试执行发送/接收邮件 - Lotus Notes C# Interop, trying to execute Send/Receive Mail WP8.1应用程序在调用RequestProductPurchaseAsync时崩溃 - WP8.1 application crashes on calling RequestProductPurchaseAsync
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM