当前位置: 首页 > news >正文

[EWS]查找 文件夹

摘要

有时在操作exchange的时候,需要查找用户exchange文件夹,比如用户新建了一些文件夹。

一个例子

这里以查找用户outlook邮箱中的历史对话文件夹为例。

  private const ExchangeVersion EXCHANGE_VERSION = ExchangeVersion.Exchange2010_SP2;
        private ExchangeService _service;
     
        public MyExchangeClient(UserInfo userInfo)
        {
            if (userInfo == null)
            {
                throw new ArgumentNullException("user is empty");
            }
            this._userInfo = userInfo;
            this._service = new ExchangeService(EXCHANGE_VERSION);
   _service.Credentials = new NetworkCredential(userInfo.Itcode, userInfo.Pwd, _userInfo.Domain);
                _service.Url = new Uri(ConfigManager.ExchangeServerUrl);
            
        }
 /// <summary>
        /// 查找对话历史文件夹
        /// </summary>
        /// <returns></returns>
        private Folder FindImHistoryFolder()
        {
            int _pageSize = 10;
            FolderView folderView = new FolderView(_pageSize, 0);
            folderView.PropertySet = new PropertySet(BasePropertySet.IdOnly);
            folderView.PropertySet.Add(FolderSchema.DisplayName);
            folderView.PropertySet.Add(FolderSchema.ChildFolderCount);

            folderView.Traversal = FolderTraversal.Shallow;
            Folder imHistoryFolder = null;

            FindFoldersResults findFolderResults;
            bool foundImHistoryFolder = false;
            do
            {
                findFolderResults = this._service.FindFolders(WellKnownFolderName.MsgFolderRoot, folderView);
                foreach (Folder folder in findFolderResults)
                {
                    if (folder.DisplayName.ToLower() == "conversation history" || folder.DisplayName.ToLower() == "对话历史记录")
                    {
                        imHistoryFolder = folder;
                        foundImHistoryFolder = true;
                    }
                }
                folderView.Offset += _pageSize;
            } while (findFolderResults.MoreAvailable && !foundImHistoryFolder);

            return imHistoryFolder;
        }

 

相关文章:

  • Mongodb主从配置
  • 洗礼灵魂,修炼python(4)--从简单案列中揭示常用内置函数以及数据类型
  • c语言数据类型(一)
  • VS中 Duplicate items are not supported by the Resources parameter 解决方法
  • SaaS与本地部署该如何闯出属于自己的路?
  • 记录下sparkStream的做法(scala)
  • JavaScript总结1
  • EXTJS学习系列提高篇:第二十三篇(转载)作者殷良胜,ext2.2打造全新功能grid系列--显示列表第二篇...
  • caffe源码 全连接层
  • [Spark][Python][RDD][DataFrame]从 RDD 构造 DataFrame 例子
  • 使用SQLite做本地数据缓存的思考
  • 与Brian Goetz聊Java的模式匹配
  • 感叹人生
  • Flash Builder 4.7 正式版下载、破解
  • 苹果开发者账号的区别,发布方式In-House和Ad Hoc区别
  • C++入门教程(10):for 语句
  • Python进阶细节
  • Redis 懒删除(lazy free)简史
  • Vue实战(四)登录/注册页的实现
  • 最近的计划
  • ​configparser --- 配置文件解析器​
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • %@ page import=%的用法
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (十三)Maven插件解析运行机制
  • (算法)求1到1亿间的质数或素数
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .net framework 4.0中如何 输出 form 的name属性。
  • .NET Remoting学习笔记(三)信道
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项
  • .Net的DataSet直接与SQL2005交互
  • .NET中的Exception处理(C#)
  • .php文件都打不开,打不开php文件怎么办
  • .project文件
  • /etc/fstab和/etc/mtab的区别
  • @angular/cli项目构建--Dynamic.Form
  • @Query中countQuery的介绍
  • [145] 二叉树的后序遍历 js
  • [2]十道算法题【Java实现】
  • [2010-8-30]
  • [2669]2-2 Time类的定义
  • [ASP.NET MVC]Ajax与CustomErrors的尴尬
  • [BZOJ4337][BJOI2015]树的同构(树的最小表示法)
  • [C++]C++基础知识概述
  • [Google Guava] 2.1-不可变集合
  • [HNOI2015]实验比较
  • [IE技巧] 使IE8以单进程的模式运行
  • [JDBC-1] JDBC Base Template
  • [Linux]history 显示命令的运行时间
  • [MySQL]基础的增删改查