使用.Net创建CalDAV服务

时间:2009-11-27 16:05:17

标签: .net iphone calendar icalendar 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和Blackberry手机同步的网址。我知道他们可以处理来自某些供应商的CalDAV服务,但不能处理其他供应商(例如我的iPhone可以从Google日历同步但却没有使用FaceBook的活动) - 任何人都知道为什么?

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

更新

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

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

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

3 个答案:

答案 0 :(得分:13)

我去年曾使用http://sourceforge.net/projects/dday-ical/作为项目。 效果很好!

答案 1 :(得分:1)

company IT Hit WebDav System提供

  • IT Hit WebDAV Server Engine v3 for .Net(起价1250美元))和
  • a IT Hit WebDAV Client .Net(起价350美元)。

适用于iOS日历,Android CalDAV-Sync,Mac OS X日历,Mozilla Lightning,eM客户端,Bynari Outlook插件,Evolution等。

答案 2 :(得分:0)

如果您正在寻找的是CalDAV客户端,那么我的建议是DAVDroid,这是我从未尝试过的最好的CalDAV客户端。 它是手机日历帐户的连接器,允许从手机上安装的任何日历应用程序中使用CalDAV服务器中的数据。

其他有趣的CalDAV客户端是:

视窗:

如果您正在寻找适用于.NET的ICalendar库,您可以查看我和我建立的朋友: ICalendar

你可以问我们任何doudt !!!