我们正在研究一个asp.net 2.0的Web应用程序,电子邮件用户将iCal保存到其Outlook 2003日历。我们注意到没有任何代码更新或删除项目似乎即使iCal的2.0规范支持它的工作。我们很好奇,如果Outlook 2003中根本不理会这样?请问Outlook 2007中的行为有所不同?

我们在那里有一个事件可能改变或取消其触发了一封电子邮件通知,但更新的iCal只是增加了一个新的事件,它讷韦尔删除和或移动原始....

情况

我们是否失去了一些东西?

有帮助吗?

解决方案

我们已经能够得到它现在要删除一条消息....但不会更新我们的思维方式它会......

设置我们发送会议...

BEGIN:VCALENDAR 版本:2.0 方法:发布 BEGIN:VEVENT 类:public 优先级:5 顺序:0 UID:12345 摘要:测试 位置:测试 DTSTART:20090709T230000Z DTEND:20090710T000000Z DTSTAMP:20090713T164634Z 说明:测试 END:VEVENT END:VCALENDAR

要删除我们通过仅改变该方法发送一个消息以取消像这样:

BEGIN:VCALENDAR 版本:2.0 方法:取消 BEGIN:VEVENT 类:public 优先级:5 顺序:0 UID:12345 摘要:测试 位置:测试 DTSTART:20090709T230000Z DTEND:20090710T000000Z DTSTAMP:20090713T164634Z 说明:测试 END:VEVENT END:VCALENDAR

我们的与删除原来的问题是,我们有一个空白的组织者行。我们移除了并取消工作... ...

作为用于更新的原始像在第一行发布,我们已经无法。我们已经增加了序列号从零到1和它只是增加了一个新的会议。我们使用相同的UID号在我们的测试仅仅是12345。

我已经发现这样做的唯一方法是创建一个组织者和从发布到请求类型而改变。

在阅读RFC2445这似乎是它是如何设计的。发布总是会创建一个新的记录和顺序并不重要。当序列重要的是与组织者和请求方法....

我也发现我的测试后,这个答案在这里阅读计算器: 的iCalendar和在不工作的活动更新的Outlook

咄我没有看到较早....:)

下面是一个示例:

BEGIN:VCALENDAR 版本:2.0 方法:REQUEST BEGIN:VEVENT 类:public DTEND:20090713T203000Z DTSTAMP:20090713T174434Z DTSTART:20090713T200000Z 主办单位; CN = “没有一个特殊的”;邮寄地址:dontemailme@email.com 优先级:5 顺序:0 摘要:午餐? UID:1234567 END:VEVENT END:VCALENDAR

和来更新它...

BEGIN:VCALENDAR 版本:2.0 方法:REQUEST BEGIN:VEVENT 类:public DTEND:20090713T213000Z DTSTAMP:20090713T174434Z DTSTART:20090713T210000Z 主办单位; CN = “没有一个特殊的”;邮寄地址:dontemailme@email.com 优先级:5 顺序:1 摘要:午餐? UID:1234567 END:VEVENT END:VCALENDAR

和取消它....

BEGIN:VCALENDAR 版本:2.0 方法:取消 BEGIN:VEVENT 类:public DTEND:20090713T213000Z DTSTAMP:20090713T174434Z DTSTART:20090713T210000Z 主办单位; CN = “没有一个特殊的”;邮寄地址:dontemailme@email.com 优先级:5 顺序:1 摘要:午餐? UID:1234567 END:VEVENT END:VCALENDAR

在序列#无关紧要用于消除....

其他提示

我不得不说,我与Outlook 2007的经验是一样的你与Outlook 2003 ..它完全忽略了PUBLISH ..

我来解决这个问题的最好的办法是使用会议作为附件..这样你可以打开它,“使你自己”,使使用情况进行跟踪,并发送更新与会者的..

我不认为微软有兴趣踢得好看与标准在这里..

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top