Outlook共享日历

时间:2017-11-24 08:29:10

标签: c# outlook calendar exchange-server

我正在尝试从一些共享的交换日历中获取一些日历约会。第一次访问工作正常。但是当我再次调用该函数时。我得到一个超出范围的错误。

当我将所有全局变量发送到temp var时,我得到错误“无法打开日历”。

如何创建Outlook实例然后再次关闭它。那么你可以在需要时创建一个新的?

由于

    Outlook.Folder _folder = null;
    Outlook.Application oApp;
    Outlook.Recipient recip;
    private void GetCalendar(string mailAddressOfCalendar)
    {
        if (_folder != null)
        {
            ForceUpdateAddOnCalaendar(_folder);
        }
        else
        {
            oApp = new Outlook.Application();
            Outlook.AddressEntry addrEntry = oApp.Session.CurrentUser.AddressEntry;
            if (addrEntry.Type == "EX")
            {
                recip = oApp.Session.CreateRecipient(mailAddressOfCalendar);
                if (recip.Resolve())
                {
                    try
                    {
                        if (_folder == null)
                        {
                            _folder =
                                oApp.Session.GetSharedDefaultFolder(
                                recip, Outlook.OlDefaultFolders.olFolderCalendar)
                                as Outlook.Folder;
                        }
                        ForceUpdateAddOnCalaendar(_folder);
                    }
                    catch
                    {
                        MessageBox.Show("Could not open calendar",
                            "GetSharedDefaultFolder Example",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Error);
                    }
                }

            }
        }
    }

1 个答案:

答案 0 :(得分:0)

发现问题: 用这种方法工作正常。问题实际上不是功能,而是我创建的全球任命列表。因为我在同时访问列表时更新列表而遇到冲突。这就是它每次尝试都崩溃的原因。

a