使用.Net创建CalDAV服务

Kei*_*ith 11 .net iphone icalendar calendar 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
Run Code Online (Sandbox Code Playgroud)

但是,我真的不想编写自己的ics文件构建器.从每行开始的键名在ics文件之间似乎也不一致.

那里有.Net实现吗?理想情况下,我不想设置整个WebDAV实现 - 只是能够检索只读日历.

我主要希望这是一个用户可以从iPhone,Android和Blackberry手机同步的网址.我知道他们可以处理来自某些供应商的CalDAV服务,但不能处理其他供应商(例如我的iPhone可以从Google日历同步但却没有使用FaceBook的活动) - 任何人都知道为什么?

我认为事件也可以包含MIME附件 - 这是否足以支持值得研究?

更新

对此的进一步研究发现,在大多数实施中存在一些奇怪的不一致.所有主流移动客户端操作系统(iPhone,Blackberry,Android)都无法处理.ics文件.

但是,iPhone可以从URL打开.ics(选择订阅日历),这也适用于FaceBook.然而,黑莓和Android不能.我认为Blackberry可以处理完整的CalDAV选项(而不仅仅是.ics文件),但对它的编程知之甚少.

有没有一致的方法来做到这一点?

War*_*uck 13

我去年用过http://sourceforge.net/projects/dday-ical/作为一个项目.完美的工作!