#c# #exchangewebservices #extended-properties
#c# #exchangewebservices #расширенные свойства
Вопрос:
Я запускаю код, который хочет добавить расширенное свойство вместе со значением. Кажется, работает нормально. Когда я перебираю почтовые элементы, я не вижу никаких доказательств расширенного свойства.
Код для расширения:
EmailMessage email2 = EmailMessage.Bind(service, result.Items[0].Id);
Guid MyPropertySetId = new Guid("{C11FF724-AA03-4555-9952-
8FA248A11C3E}");
ExtendedPropertyDefinition extendedPropertyDefinition = new
ExtendedPropertyDefinition(MyPropertySetId, "ServiceCat",
MapiPropertyType.String);
email2.SetExtendedProperty(extendedPropertyDefinition, "Level2 big daddy");
email2.Update(ConflictResolutionMode.AlwaysOverwrite);
Код для чтения расширенного свойства:
foreach (Item item in result.Items)
{
Console.WriteLine(item.Subject);
if (item.ExtendedProperties.Count > 0)
{
// Display the name and value of the extended property.
foreach (ExtendedProperty extendedProperty in item.ExtendedProperties)
{
Console.WriteLine(" Extended Property Name: " extendedProperty.PropertyDefinition.Name);
Console.WriteLine(" Extended Property Value: " extendedProperty.Value);
}
}
}
Я попытался повторно подключиться, чтобы перебрать электронные письма, чтобы проверить, есть ли расширенное свойство, но длина массива остается равной 0. Т.Е. foreach никогда не запускается.
Я предполагаю, что расширенная предварительная запись сохраняется в exchange «email2.Update(ConflictResolutionMode.AlwaysOverwrite)» и должно иметь возможность считываться обратно
Приветствуются любые советы.
Ответ №1:
Вам необходимо загрузить расширенное свойство, используя набор свойств, прежде чем вы сможете перечислить его в сообщении, например
PropertySet psPropSet = new PropertySet();
psPropSet.Add(extendedPropertyDefinition );
ItemView itemView = new ItemView(1000);
itemView.PropertySet = psPropSet;
Затем вы можете просто использовать TryGetProperty, чтобы получить расширенное свойство, если оно установлено
Комментарии:
1. Спасибо, теперь я вижу, как это свойство проходит. Я хочу добавить расширенные свойства к почтовым элементам многих групповых почтовых ящиков. На более позднем этапе я хотел бы добавить значения к свойству. Могу ли я использовать один и тот же GUID для добавления расширенного свойства ко всем почтовым ящикам?
2. Или я могу использовать :
3. Вы должны использовать один и тот же идентификатор GUID, не начинайте создавать множество случайных расширенных свойств, все, что вам нужно, это одно, иначе у вас возникнет проблема с исчерпанием расширенного свойства. Вам нужно определить одно для того, что вы пытаетесь сделать, и оно будет работать на столько почтовых ящиков, сколько вам нужно.