カスタム拡張プロパティを使用して、データベースに入れる一意の予定を作成したいと考えています。FindAppointments() を使用してすべての予定を検索します。
var appointments = _service.FindAppointments(WellKnownFolderName.Calendar, calendarView);
そして、foreach ループを使用してすべての予定を調べます。
foreach (var appointment in appointments)
拡張プロパティを持たないすべての予定:
if (appointment.ExtendedProperties.Count <= 0)
カスタム拡張プロパティをバインドし、その値を一意の会議 ID (meetingId) に設定します。これを特別に生成して一意の int 番号にします。
var myPropertySetId = new Guid("{6C3A094F-C2AB-4D1B-BF3E-80D39BC79BD3}");
var extendedPropertyDefinition = new ExtendedPropertyDefinition(myPropertySetId, "RateTheMeetingId", MapiPropertyType.Integer);
var bindedAppointment = Appointment.Bind(_service, appointment.Id, new PropertySet(extendedPropertyDefinition));
bindedAppointment.SetExtendedProperty(extendedPropertyDefinition, meetingId);
bindedAppointment.Update(ConflictResolutionMode.AlwaysOverwrite);
しかし、会議を検索して拡張プロパティと tis 値を出力しようとすると、結果が得られず、バインドされていないため、機能しません。私の質問は、私が間違っていることと、既存の予定にカスタム拡張プロパティを与えるために提供できる他のソリューションは何ですか? ところで、MS Exchange サーバー 2010_SP2 を使用しています。