问题描述
正如标题所建议的,我正在尝试向本地计算机中的多个 Outlook 帐户/个人资料读写(R&W)联系人和事件信息,而 Outlook 是设置为脱机工作。
到目前为止,我发现了R&W联系人和事件发送到 Outlook 的两种方法:
1.- Microsoft.Graph :
这似乎只能在线运行,因为它会读写 Microsoft服务器,而不是本地pst / ost文件。
2.- microsoft.office.interop.outlook库:
这确实可以脱机/在本地工作(通过访问 Outlook pst / ost文件),但是到目前为止,我使用的方法需要创建一个Application
对象
var app = new Microsoft.Office.Interop.outlook.application();
尽管如此,创建 Application 对象会隐式地将配置文件/用户登录到该应用程序,此外,如果 Outlook 已在运行并使用配置文件X登录,上面的代码实例化了配置文件X登录到的 Outlook 对象,因此在这种情况下,我只能为该特定用户/配置文件进行R&W联系人和事件。
因此,是否有一种方法可以独立于 Outlook 是否与配置文件X一起运行而为不同的配置文件提供R&W联系人和事件信息?
解决方法
没有什么神奇的-如果您想脱机访问,则需要实施一些存储来保留缓存的数据并缓存您的更改,以便可以在服务器重新联机时将其上传。
如果您不想实现该逻辑,则缓存的Outlook配置文件可能是您唯一的选择。您是对的,Outlook是单身,一次只能访问一个配置文件。您可以使用扩展MAPI来访问除Outlook使用的配置文件以外的其他配置文件,但这仅是C ++或Delphi。如果可以选择使用Redemption,则它将包装扩展的MAPI API以在任何语言(包括C#)中使用-您可以使用其RDOSession。Logon
方法来访问任何现有的配置文件。>