【问题标题】:Outlook-Addin: How to retrive folder tree fast when Exchange-Online is usedOutlook-Addin:使用 Exchange-Online 时如何快速检索文件夹树
【发布时间】:2020-06-01 04:37:42
【问题描述】:

我正在使用Outlook Redemption library

我正在尝试检索 Outlook 存储的文件夹列表。我只需要满足某些条件的文件夹,并且只需要它们的 nameDefaultMessageClass

当使用没有缓存的 Exchange 帐户时,RDOFolder 对象的迭代非常慢。

所以我使用了 GetAllChildFolders() 并将其与 RODFolderItems findmethod 结合起来。

http://www.dimastr.com/redemption/RDOFolders.htm

var allFolder = ((RDOFolder2)rootFolder).GetAllChildFolders();

string folderSelect = "SELECT Name, EntryId, DefaultMessageClass FROM  FOLDER WHERE \"http://schemas.microsoft.com/mapi/proptag/0x3613001F\" like '%Note%'";

try
{
RDOFolder vFolder = vFolders.Find(folderSelect);


  while (vFolder != null)
  {
    System.Diagnostics.Debug.WriteLine(vFolder.Name);
    System.Diagnostics.Debug.WriteLine(vFolder.EntryID);
    System.Diagnostics.Debug.WriteLine(vFolder.DefaultMessageClass);

    vFolder = vFolders.FindNext();

   }
}
catch (Exception ex)
{
    //log error here!
}

现在我有两个问题!

1. SQL 语法

来自find方法的文档

SQL 查询中指定的属性必须使用 Outlook 对象模型(或 RDO) 属性名称(例如主题、Email1Address)

我无法使 Outlook 或 Redemption 属性在 SQL 语句中工作。有人有一个可行的例子吗?

2。性能访问属性

在线文档说明如下。

包含 SELECT 子句允许 Redemption 预取 文件夹层次结构表中的属性而不打开项目 导致显着的性能提升(参见示例“我希望有一个 :-)”)。如果你 稍后访问未在 SELECT 子句中指定的属性 Redemption 将打开该项目。

如何从文件夹层次结构中访问属性预取? 如果我使用 RDOFolder.Name,则打开整个文件夹对象,并且性能提升不大。

【问题讨论】:

    标签: outlook-addin outlook-redemption


    【解决方案1】:
    1. 哪些属性不起作用?您是否遇到特定错误?

    2. 您的完整 SELECT 语句是什么?为避免打开文件夹,请使用RDOFolders.MAPITable.ExecSQL - 它会 返回一个ADODB.Recordset 对象。

    【讨论】:

    • 这是我的 sql string folderSelect = "SELECT EntryId, Name, DefaultMessageClass FROM Folder";。我得到以下执行:System.ArgumentException: Unknown property name: defaultmessageclass at Redemption.MAPITableClass.ExecSQL(String SQLCommand) ...
    • DefaultMessageClass 无法识别,因为在 RDOFolder.DefaultMessageClass 中使用了多个 MAPI 属性 - 兑换首先检查 PR_DEF_POST_MSGCLASS 是否存在。如果不是,则读取 PR_CONTAINER_CLASS,并替换“IPF”。带有“IPM”。
    猜你喜欢
    • 1970-01-01
    • 2015-09-25
    • 1970-01-01
    • 1970-01-01
    • 2013-05-15
    • 1970-01-01
    • 1970-01-01
    • 2011-03-21
    • 2015-03-18
    相关资源
    最近更新 更多