C# EWS SetExtendedProperty问题
我正在尝试使用新属性更新现有电子邮件,但无法使其正常工作。。我通过添加一个带有时间戳字符串的自定义属性来测试它 当我在运行后获取项目时,我根本看不到它的任何扩展属性 以下是我如何试图保存它:C# EWS SetExtendedProperty问题,c#,exchangewebservices,extended-properties,C#,Exchangewebservices,Extended Properties,我正在尝试使用新属性更新现有电子邮件,但无法使其正常工作。。我通过添加一个带有时间戳字符串的自定义属性来测试它 当我在运行后获取项目时,我根本看不到它的任何扩展属性 以下是我如何试图保存它: message.Load(); Guid MyPropertySetId = new Guid("{117c7745-5df5-4049-97be-8e2d2d92d566}"); ExtendedPropertyDefinition extendedPropertyDefinition = new Ext
message.Load();
Guid MyPropertySetId = new Guid("{117c7745-5df5-4049-97be-8e2d2d92d566}");
ExtendedPropertyDefinition extendedPropertyDefinition = new ExtendedPropertyDefinition(MyPropertySetId, "JNB", MapiPropertyType.String);
message.SetExtendedProperty(extendedPropertyDefinition, DateTime.Now.AddDays(2).ToString());
message.Update(ConflictResolutionMode.AlwaysOverwrite);
然后当我再把它拉回来时,我就这样做了:
if (item.ExtendedProperties.Count > 0)
{
// Display the name and value of the extended property.
foreach (ExtendedProperty extendedProperty in item.ExtendedProperties)
{
if (extendedProperty.PropertyDefinition.Name == "ccpUniqueID")
{
messageAlreadyLogged = AccountMessageManager.HasMessageAlreadyBeenSaved(extendedProperty.Value.ToString());
}
}
}
没有任何扩展属性….Exchange将只返回您告诉它返回的扩展属性,因此在您的情况下,您需要将该属性添加到属性集中,然后使用Load将其加载回(默认情况下不会发生这种情况)例如
与此S/O解决方案有何相似之处?
Guid MyPropertySetId = new Guid("{117c7745-5df5-4049-97be-8e2d2d92d566}");
ExtendedPropertyDefinition extendedPropertyDefinition = new ExtendedPropertyDefinition(MyPropertySetId, "JNB", MapiPropertyType.String);
PropertySet psPropSet = new PropertySet(BasePropertySet.FirstClassProperties){extendedPropertyDefinition};
message.Load(psPropSet);