2010-11-21 83 views
4

我看到使用this calendar library in C#,我可以编程生成一个ics文件与一堆日历事件。是否有提供一个ics日历文件,将自动保持与更新

但我想要一个解决方案,如果我想订阅一个日历的人,所以当未来事件被添加或删除时,该人得到更新。

当你从Outlook订阅服务器上的一个ics文件时,它看起来像只是从Outlook帮助文件得到一个基于此的快照:=(我认为它的行为与我通过电子邮件发送日历相同)

通过电子邮件发送日历您可以通过电子邮件将任何您拥有的日历发送给其他人。这是一种称为日历快照的互联网日历。日历出现在电子邮件正文中。但是,接收日历快照的Office Outlook 2007用户可以选择将日历作为Outlook日历打开。这样做可以在并排模式或日历叠加模式下显示日历快照和当前日历。

是否有任何程序化解决方案允许用户订阅iCalendar文件(或其他格式),该文件会随时间变化而始终保持最新状态?

+0

如果Outlook不刷新它从URL读取的内容,那真的很难。关于我知道的每个客户端都会按一定的时间间隔重新加载远程日历,例如每默认30分钟。 – 2010-11-28 16:13:19

+0

@Ulrich Schwarz - 所以基本上你只是说它的客户端应用程序的责任只是轮询远程数据并重新同步 – leora 2010-11-28 16:21:06

+0

这就是我所知道的。 (至少Mozilla Sunbird/Lightning和KDE whatsitsname这样做。) – 2010-11-28 17:11:50

回答

8

展望更新基于基于服务器的.ics文件。将文件存储在某个Web服务器上(我已成功使用Wiki页面),然后使用webcal://地址而不是http://地址。 Outlook应该自动选择它。

这通常会刷新为“发送/接收”的一部分,但也可以通过“帐户设置... Internet日历”进行配置。

我已经完成了你正在做的事情,相同的图书馆和所有。更新在大型组织内处理,许多人订阅日历文件。

这可能会有所帮助:http://blogs.msdn.com/b/michael_affronti/archive/2006/05/10/594986.aspx

0

看起来前景只是被在此基础上从Outlook帮助文件的快照:=(我假设它的相同的行为,因为我发通过电子邮件日历)

我不认为这是一个有效的假设。我公司的防火墙似乎阻止了一些事情,所以我无法完全测试这一点,但Outlook中的“订阅选项”确实在讨论更新。

0

您是否在寻找推送通知或类似的规定?

Web上的大多数基于iCal .ics的日历都希望以类似于RSS或ATOM的轮询方式使用,其中客户端将定期检查是否进行了任何更改,如果是,则相应地下载新内容。我的理解是,启用WebDAV的服务器可能允许某些客户端直接修改这些.ics文件,但客户端仍然有责任在订阅日历时轮询和更新其日历的本地快照。

我对Outlook日历的iCal支持没有多少经验,但我非常广泛地使用Google Calendar,内置的iPhone日历应用程序,以及过去和所有的Sunbird日历应用程序他们在我检查他们时向我展示更新的工作非常可靠。

相关问题