Mah*_*aha 6 .net c# exchange-server exchangewebservices
我正在使用EWS Managed API 1.2和Exchange Server 2007开发C#.NET Framework 4.5 Windows窗体应用程序,它执行某种类型的邮件同步.
既然我正在处理扩展属性,我想清楚一些事情:
Q1.DefaultExtendedPropertySet上课的目的是什么?MSDN 说 "定义默认的扩展属性集".
Q2.我无法决定是否应该使用自定义GUID或DefaultExtendedPropertySet.PublicStrings在构建时ExtendedPropertyDefinition:
var MyXProp = new ExtendedPropertyDefinition(
DefaultExtendedPropertySet.PublicStrings,
"MyXProp", MapiPropertyType.String);
Run Code Online (Sandbox Code Playgroud)
要么
Guid MyPropertySetId = new Guid("{C11FF724-AA03-4555-9952-FA248A11C3E}");
var extendedPropertyDefinition = new ExtendedPropertyDefinition(
MyPropertySetId, "MyXProp", MapiPropertyType.String);
Run Code Online (Sandbox Code Playgroud)
对我自己的问题的立即答复如下。但是在阅读之后,我意识到还有更多相关的知识要知道。因此,这些事情就是答案。
Q1。
DefaultExtendedPropertySet用于分组。Microsoft预定义了一些名称空间,以鼓励对命名属性进行逻辑分组,并将其包括在此枚举中。Q2。
DefaultExtendedPropertySet.PublicStrings使用非通用名称也是足够的。重点是避免与其他供应商创建的命名属性冲突。PublicStrings如果该应用程序要与其他一些应用程序集成,则还可以提供更好的发现性(在集成期间可能需要非常仔细地指定GUID)。MAPI属性
0x8000。此范围可细分为:
0x8000。它们允许供应商/开发人员通过添加自己的属性来扩展标准MAPI属性集。命名属性有两种形式:
rfc822 x标题到MAPI属性的转换
有一些细微的历史细节,例如
在以下链接中阅读更多详细信息: