C# lotusnotes与C的集成#

C# lotusnotes与C的集成#,c#,lotus-notes,lotus-domino,C#,Lotus Notes,Lotus Domino,我正在尝试将LotusNotes集成到我的程序中。我已经完成了新邮件的发送,并且我尝试检查来自传入LotusNotes的邮件的新输入消息。在IBM官方文档中,我发现了一个返回所有未读消息的函数,但在C#中,此函数不可用。。。有办法做到这一点吗 notesNoteCollection = notesDatabase.GetAllUnReadDocuments( [username] ) 我无法从原始问题判断,但是您的C#程序是否使用Notes C API?如果是这样,您可以使用NSFDbModi

我正在尝试将LotusNotes集成到我的程序中。我已经完成了新邮件的发送,并且我尝试检查来自传入LotusNotes的邮件的新输入消息。在IBM官方文档中,我发现了一个返回所有未读消息的函数,但在C#中,此函数不可用。。。有办法做到这一点吗

notesNoteCollection = notesDatabase.GetAllUnReadDocuments( [username] )

我无法从原始问题判断,但是您的C#程序是否使用Notes C API?如果是这样,您可以使用NSFDbModifiedTime检查自给定时间以来是否创建或更改了任何数据文档。以下是文档:


如果该函数告诉您某些内容已更改,您仍然需要打开收件箱文件夹以查看新邮件是否已到达,但NSFDbModifiedTime非常快。这样可以避免您不必要地打开收件箱文件夹。

GetAllUnredocuments
不是检查新电子邮件的好方法。它每次都会给您提供相同的文档集,直到用户使用Notes客户端读取它们为止。不幸的是,Notes COM类中没有简单的方法来检查新消息。通常,您必须将状态信息保存在本地并查找更改。例如,保存上次选中的日期时间,并查找自该日期时间以来创建的邮件,没有特别有效的方法。(这不一定是一个大问题,取决于您的规模。)IBM可能有其他更新的API可以更有效地实现这一点(例如,对于移动设备),但如果有,我对它们并不熟悉。另外,Notes C API可能会公开一种方法来实现这一点,但我所熟悉的唯一方法是使用服务器外接程序——我猜这超出了您想要做的范围。Richard Schwartz,谢谢