vsto outlook加载项:如何检查outlook是否与exchange server联机
我有一个VSTO Outlook 2007加载项。我必须检查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)
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来返回连接状态,那就太好了。