日历项目更新时的交换错误: - 至少有一个收件人无效

时间:2015-05-11 07:59:00

标签: c# outlook exchangewebservices extended-properties

这是访问我的Outlook日历项目,更改主题,添加一些扩展属性并自行更新的代码。但我收到错误

  

至少有一位收件人无效

当我尝试更新该项目时。我相信该项目中没有任何无效的收件人。为什么我会收到此错误,我是如何克服这个错误的。请指教。谢谢。

以下是代码:

public void AccessCalendarItems()
{
    // Specify a view that returns up to 1000 items.
    ItemView view = new ItemView(1000);

    // Specify a calendar view for returning instances between matching dates.
    DateTime startDate = new DateTime(2015, 5, 1);
    DateTime endDate = new DateTime(2015, 9, 1);
    CalendarView calView = new CalendarView(startDate, endDate);

    //string querystring = "Subject:'Doctor'";

    try
    {              
        // Find all the appointments in the calendar based on the dates set in the CalendarView. - Currently Disabled
        // Find all the appointments in the calendar based on the sunject content (get first 1000 items)
        int i = 123123;
        SearchFilter subjectFilter = new SearchFilter.ContainsSubstring(AppointmentSchema.Subject, "Doctor");
        FindItemsResults<Item> instanceResults = service.FindItems(WellKnownFolderName.Calendar, subjectFilter, view);

        foreach (Item item in instanceResults.Items)
        {
            Appointment appointment = item as Appointment;
            MessageBox.Show(appointment.Subject);
            appointment.Subject = appointment.Subject + " - KR";
            ExtendedPropertyDefinition extendedPropertyDefinition = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.PublicStrings, "BookingKey", MapiPropertyType.String);
            appointment.SetExtendedProperty(extendedPropertyDefinition, i);
            appointment.Update(ConflictResolutionMode.AutoResolve);
            i++;
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show("Error: " + ex.Message);
    }
}

感谢你帮助,Kushan Randima。

1 个答案:

答案 0 :(得分:3)

尝试使用支持传递Update枚举的SendInvitationsOrCancellationsMode的重载版本,并传递SendInvitationsOrCancellationsMode.SendToNone。这将确保服务器不会尝试向与会者发送会议更新。