• [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;
            }
  • 相关阅读:
    模型绑定功能
    接口返回的内容
    跨平台的ASP.NET Core简介
    NLog如何打印日志(.Net5)
    注意力创造价值;
    Restful接口的介绍
    电脑设置双屏显示(windows)
    Linq多集合连接
    调试时才执行的代码
    mvc4 路由匹配测试
  • 原文地址:https://www.cnblogs.com/wolf-sun/p/7605666.html
Copyright © 2020-2023  润新知