Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
vsto outlook加载项:如何检查outlook是否与exchange server联机_Outlook_Vsto_Add In_Exchange Server - Fatal编程技术网

vsto outlook加载项:如何检查outlook是否与exchange server联机

vsto outlook加载项:如何检查outlook是否与exchange server联机,outlook,vsto,add-in,exchange-server,Outlook,Vsto,Add In,Exchange Server,我有一个VSTO Outlook 2007加载项。我必须检查Outlook是否与exchange server脱机/联机。我使用的代码如下: NameSpace ns = Application.GetNamespace("MAPI"); MAPIFolder publicFolder = ns.GetDefaultFolder(OlDefaultFolders.olPublicFoldersAllPublicFolders); if (publicFolder == null)

我有一个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
       }
早些时候,这段代码运行良好。但突然之间,获取公用文件夹的行开始返回null,即使Outlook处于联机状态

我知道公用文件夹已从exchange服务器中删除,这就是它返回null的原因

有人能告诉我检查Outlook是否与exchange server联机的其他标准方法吗

谢谢并致以最良好的问候,
Nadeem Ullah查看ExchangeConnectionMode属性,它返回交换状态


回复@Clint,在下面的评论中,这是我回答这个问题后的短短十年,我再也没有安装环境了,所以这里有一些(完全未经测试的)代码可能会工作,也可能不工作,如果不是的话,我希望它能提供一个正确方向的提示

将以下内容添加到可以在初始化完成后调用的操作(例如按钮)中

Outlook.NameSpace outlookSession = null;
outlookSession = MyAddin.CurrentInstance.OutlookApp.Session;
Debug.WriteLine(outlookSession.ExchangeConnectionMode);
这将返回类似于:
Outlook.OlExchangeConnectionMode.olOnline
的内容,然后您必须将其转换为您希望拥有/执行的格式或操作


@Chjortlund,非常好的信息,我检查了链接,如果您能告诉我如何在代码中使用Exchangeconnection来返回连接状态,那就太好了。