2013-03-04 68 views
1

我有一个Outlook加载项,在启动时尝试在发件箱文件夹下创建一个子文件夹(如果尚不存在)。当我在两台不同的计算机上安装加载项时,会发生此问题。在一台计算机上安装并运行加载项后,如果我在另一台计算机上安装并打开Outlook,加载项会立即发现没有这样的子文件夹存在,因为Outlook尚未完成与本地数据存储同步服务器。它现在创建一个新的重复的子文件夹,并在Outlook同步后,我最终有两个具有相同名称的子文件夹。什么是防止这种情况的最好方法?目前,我想这些方法之一:Outlook加载项阻止创建重复文件夹

  • 不知怎的,创建一个本地唯一的子文件夹,以便它不与服务器同步。每个安装在不同的计算机上都会有一个单独的子文件夹。这对于我的加载项来说工作得很好。这可能吗?

  • 检查服务器端,看看是否已经创建了子文件夹,如果是的话就什么都不做。但是,我不知道如何通过C#使用OOM执行此检查。

回答

0

没有办法在缓存存储中创建仅本地文件夹,但可以随时将PST存储添加到配置文件并将数据存储在此处。

您可以使用Extended MAPI或Redemption在线模式打开父文件夹,但是如果在鳕鱼运行时没有连接,您会怎么做?

+0

关于要求连接的好处,在这种情况下,我可以让它失败而不会影响我的加载项。但是,您能详细阐述关于向配置文件添加PST存储的第一点吗? – user1715925 2013-03-05 17:11:57

+0

此外,即使使用MAPI检查在线模式的子文件夹,我意识到它仍然不会100%工作。如果两台不同的计算机第一次同时启动Outlook,它们将同时创建子文件夹,然后在同步后再次返回重复的文件夹。 – user1715925 2013-03-05 22:19:19

+0

可以使用Namespace.AddStore/AddStoreEx添加PST存储。 – 2013-03-08 22:11:34