vsto Outlook加载项:如何检查Outlook是否与Exchange Server联机

问题描述

|| 我有一个VSTO Outlook 2007加载项。我必须检查Outlook是否在Exchange Server脱机/联机状态。我正在使用如下代码:
 NameSpace ns = Application.GetNamespace(\"MAPI\");
 MAPIFolder publicFolder = ns.GetDefaultFolder(OlDefaultFolders.olPublicFoldersAllPublicFolders);
    if (publicFolder == null)
       {
          offline = true;//Flag is set to tell it is offline
       }
之前的这段代码运行良好。但是突然之间,即使Outlook处于联机状态,获取公用文件夹的行也开始返回null。 我知道公用文件夹已从交换服务器中删除,这就是它返回null的原因。 谁能告诉我检查Outlook是否与Exchange Server联机的任何其他标准方式? 谢谢与问候! 纳迪姆·乌拉(Nadeem Ullah)     

解决方法

        看一下ExchangeConnectionMode属性,它返回Exchange状态。 要回复@Clint,请在下面的评论中说,距离我回答问题已经过去了很短的时间,我已经没有安装环境了,因此这里的一些(完全未经测试的)代码可能会或可能不会工作,如果我希望它不会为正确的方向提供提示。 将以下内容添加到动作中,例如一个按钮,您可以在初始化完成后调用它。
Outlook.NameSpace outlookSession = null;
outlookSession = MyAddin.CurrentInstance.OutlookApp.Session;
Debug.WriteLine(outlookSession.ExchangeConnectionMode);
这应该返回类似“ѭ2”的内容,然后您将不得不将其转换为想要执行的格式或动作。 http://msdn.microsoft.com/zh-CN/library/microsoft.office.interop.outlook._account.exchangeconnectionmode.aspx     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...