我想在我的应用程序中创建一个外部用户可以查看的日历。使用.Net创建CalDAV服务
CalDAV(基本上是WebDAV + iCalendar)格式似乎得到了相对广泛的支持,尽管如果某些客户端(例如Outlook)非常不寻常。尽管对我来说是全新的。
我想在外部发布事件,我不需要用户能够更新它们。
在.ics文件事件的文本格式显得相对简单:
BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTART:20091130T000000Z
DTEND:20091201T000000Z
SUMMARY:Test event for calendar format
LOCATION:Company site
DESCRIPTION:Test event.\nMore text on a new line
END:VEVENT
END:VCALENDAR
但是我真的不想写我自己的ics文件生成器。从每行开始的键名称在ics文件之间似乎也不一致。
那里是否有.Net实现?理想情况下,我不想设置一个完整的WebDAV实现 - 只是检索只读日历的能力。
我主要希望这是在用户可以从iPhone,Android和黑莓手机同步的网址。我知道他们可以处理来自某些供应商的CalDAV服务,但不能处理其他供应商(例如,我的iPhone可以从Google日历同步,但FaceBook的事件会失败) - 任何人有任何想法为什么?
我认为事件也可以包含MIME附件 - 这是否有足够的支持值得研究?
更新
这个进一步的研究确定了大部分实现一些奇怪的不一致。主要的移动客户端操作系统(iPhone,Blackberry,Android)都不能处理.ics文件。
但iPhone可以通过URL打开一个.ics文件(选择订阅日历),这也适用于FaceBook。但是黑莓和Android不能。我认为黑莓可以处理完整的CalDAV选项(而不仅仅是.ics文件),但对编程知之甚少。
是否有一致的方法来做到这一点?
我很好奇,你最终做这个事情? – balexandre 2011-05-29 21:37:37