当前位置: 首页 > 知识库问答 >
问题:

使用Exchange Web Services(EWS)API查找Exchange Server版本的方法

白子昂
2023-03-14

我目前正在使用下面的,但我无法想象这是最有效率的方式?

foreach (ExchangeVersion exchver in Enum.GetValues(typeof(ExchangeVersion)))
{
    //Console.WriteLine(exchver.ToString());
    try
    {
        ExchangeService service = new ExchangeService(exchver);
        //Do stuff here
    }
    catch (Exception e)
    {
        Console.WriteLine("Server is not " + exchver +". Trying next ExchangeVersion.");
    }
}

共有1个答案

商高谊
2023-03-14

我采取的策略是选择一个版本的EWS,我“喜欢”,并要求第一。由于以后的交换是向后兼容他们的早期版本,所以可以要求E2013用E2010 SP2的“方言”与您通过EWS。

EWS版本的巨大差异是在E2007 SP1和E2010 RTM之间以及更高版本,特别是在时区管理方面。如果您可以避免完全支持E2007,您可以要求最低的公分母,E2010 SP1,并与更高层友好地交谈。如果您需要与E2007对话,那么您必须首先尝试E2010 SP1,然后按照上面所做的处理异常。当然是YMMV,因为这里显示的E2010+API有一些不同之处,所以您可能更喜欢更高的级别。

自动发现完成后,您可以在另一端获得Exchange的实际版本并进行相应的调整,例如,如果您请求E2010 SP1但最终与E2013通话,则由于E2010和E2013之间的体系结构更改,需要对通知进行不同的管理,但可以使用E2010 SP1方言进行管理。

 类似资料:
  • 问题内容: 我们有一个简单的实用程序应用程序,可读取JRE中使用的所有时区数据并将其全部显示在简单表中。我们需要为即将发布的产品发行版使用JRE的较旧版本(6_24)(显然是由于其他问题),但是我们还需要在该发行版中包括较新的时区更新(否则将包含在6_29中) )。我们已经打包了将要安装的私有JRE,所以使用TZUpdater工具将时区更新到该私有JRE 中不是问题- 问题是正在读取/验证哪个tz

  • 我目前正在iOS下开发一个EWS客户端应用程序,因此我使用Exchange Web服务与Exchange2010服务器通信(纯XML而不是托管API)。我知道如何访问委托的邮箱和日历,并授予或删除委托对邮箱的访问权限,但在访问之前,我需要先找到这些邮箱。也就是说,我想要找到我的当前用户有权访问的所有邮箱(与所有有权访问当前邮箱的用户相反,当前邮箱是有详细文档记录的)。 这个来自2011年的问题(E

  • ews-java-api 是用来访问 Exchange Web 服务的 Java 客户端库,API 支持 Office 365 Exchange Online。

  • 我是EWS管理API的新手。我想知道是否有任何方法可以将使用EWS API的exchange日历导出到ics文件中。我搜索并找到了创建和检索日历项的方法,但找不到导出日历的方法。非常感谢任何帮助

  • 我正在编写一个C#应用程序,通过一些监控邮箱,清除超过指定期限(例如6个月)的电子邮件。 以前我要获取这些项,然后在块中依次删除每个项。在寻找另一个问题的解决方案时,我无意中使用了。这需要,但在下面的代码中,返回。 如何转换或获取传递给DeleteItems的正确类型?

  • MiniFramework 从 1.0.8 版本开始,新增了对于 REST 模式的 API 接口的版本调用方法。可以在发出请求时,向 HEADER 中添加一个名为 Ver 的参数,作用是声明调用的目标接口的版本,其值应为一个整数。MiniFramework 在接到这个请求时,会按 HEADER 中给出的版本号参数 Ver 调用对应的 API 接口文件。 当某个 API 接口需要增加新版本时,开发者