【问题标题】:vsto outlook add-in: How to check whether Outlook is online with exchange servervsto Outlook 插件:如何检查 Outlook 是否与 Exchange 服务器联机
【发布时间】:2011-06-21 19:40:34
【问题描述】:

我有一个 VSTO Outlook 2007 插件。我必须检查 Outlook 是否与 Exchange 服务器脱机/联机。我使用的代码如下:

 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。

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

谁能告诉我检查 Outlook 是否与 Exchange 服务器联机的任何替代和标准方法?

谢谢和最好的问候, 纳迪姆·乌拉

【问题讨论】:

    标签: outlook vsto add-in exchange-server


    【解决方案1】:

    看看 ExchangeConnectionMode 属性,它返回 Exchange 状态。


    回复 @Clint,在下面的 cmets 中,这是我回答问题以来的一个小十年,我不再安装环境,所以这里有一些(完全未经测试的)代码可能或者可能不起作用,如果不是,我希望它能提供正确方向的提示。

    将以下内容添加到操作中,例如一个按钮,您可以在初始化完成后调用它。

    Outlook.NameSpace outlookSession = null;
    outlookSession = MyAddin.CurrentInstance.OutlookApp.Session;
    Debug.WriteLine(outlookSession.ExchangeConnectionMode);
    

    这应该返回类似:Outlook.OlExchangeConnectionMode.olOnline,然后您必须将其转换为您想要/执行的格式或操作。

    http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook._account.exchangeconnectionmode.aspx

    【讨论】:

    • @Chjortlund,很棒的信息,我检查了链接,如果你能告诉我如何在代码中使用 Exchangeconnection 来返回连接状态,那就太好了。
    猜你喜欢
    • 1970-01-01
    • 2016-02-09
    • 1970-01-01
    • 1970-01-01
    • 2011-08-10
    • 1970-01-01
    • 1970-01-01
    • 2010-12-10
    • 2019-01-21
    相关资源
    最近更新 更多