Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Exchange-Microsoft.Exchange.WebServices.Data.Recurrence.YearlyPattern中缺少间隔_C#_Exchange Server - Fatal编程技术网

C# Exchange-Microsoft.Exchange.WebServices.Data.Recurrence.YearlyPattern中缺少间隔

C# Exchange-Microsoft.Exchange.WebServices.Data.Recurrence.YearlyPattern中缺少间隔,c#,exchange-server,C#,Exchange Server,当您通过类似outlook的客户端创建约会时,您可以为年度定期约会设置间隔。但该成员不包括在我们必须通过web服务处理的类中: 这是因为YearlyPattern不是IntervalPattern的子类,其他所有patterntype都是: 有人知道这是什么原因吗?是否有机会获得interval属性?我们是否有可能使用一种变通方法?这是API中的一个明显漏洞,出于某种原因,在MS的无限智慧中,他们决定排除该键值 现在我没有一个完整的代码样本,但我有所有的谜题和平。您需要从另一个属性中提取该值

当您通过类似outlook的客户端创建约会时,您可以为年度定期约会设置间隔。但该成员不包括在我们必须通过web服务处理的类中:

这是因为YearlyPattern不是IntervalPattern的子类,其他所有patterntype都是:


有人知道这是什么原因吗?是否有机会获得interval属性?我们是否有可能使用一种变通方法?

这是API中的一个明显漏洞,出于某种原因,在MS的无限智慧中,他们决定排除该键值

现在我没有一个完整的代码样本,但我有所有的谜题和平。您需要从另一个属性中提取该值

首先,您需要获取pidlidAppointRecur MAPI属性

这是扩展属性定义,请将其添加到您与约会一起请求的属性集:
静态ExtendedPropertyDefinition指定Recur=新的ExtendedPropertyDefinition(
DefaultExtendedPropertySet.约会,
0x8216,
MapPropertyType.Binary
);

提取字节数组: appointment.TryGetProperty(AppointmentRecur, out byte[] appointment_recurence); appointment.TryGetProperty(appointmentRecurr,out byte[]appointment\u recurce)

然后对其进行分析,请参阅本指南以开始:

您正在寻找3个值:

  • 重复频率
  • 图案类型
  • 时期
RecurFrequency和PatternType是枚举,我没有枚举的源。周期是间隔数

我希望能找到类似于:

  • 重现频率=0x200D(每年)
  • PatternType=0x0002(月)
因此,一旦获得了这些值,就需要根据PatternType和Period计算年度间隔

我将获取RecurFrequency以进行验证

我希望它现在已经很明显了,但是如果您想解析整个结构,可以用这个替换EWS Recurrence属性

另一个好资源:

appointment.TryGetProperty(AppointmentRecur, out byte[] appointment_recurence);