当前位置: 首页 > 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区别
  • avalon2.2的VM生成过程
  • CentOS7简单部署NFS
  • Docker: 容器互访的三种方式
  • Hibernate最全面试题
  • HTTP 简介
  • java8-模拟hadoop
  • JavaScript设计模式系列一:工厂模式
  • Java-详解HashMap
  • Koa2 之文件上传下载
  • Promise面试题,控制异步流程
  • python 装饰器(一)
  • Shell编程
  • spring cloud gateway 源码解析(4)跨域问题处理
  • vue总结
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 服务器从安装到部署全过程(二)
  • 给新手的新浪微博 SDK 集成教程【一】
  • 工作手记之html2canvas使用概述
  • 关于for循环的简单归纳
  • 关于Java中分层中遇到的一些问题
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 智能合约Solidity教程-事件和日志(一)
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • Mac 上flink的安装与启动
  • MyCAT水平分库
  • #if #elif #endif
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (Note)C++中的继承方式
  • (编译到47%失败)to be deleted
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (转)EOS中账户、钱包和密钥的关系
  • (转)linux下的时间函数使用
  • (转)大道至简,职场上做人做事做管理
  • (转)关于pipe()的详细解析
  • (状压dp)uva 10817 Headmaster's Headache
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .net core开源商城系统源码,支持可视化布局小程序