2009-11-27 72 views
11

我想在我的应用程序中创建一个外部用户可以查看的日历。使用.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文件),但对编程知之甚少。

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

+1

我很好奇,你最终做这个事情? – balexandre 2011-05-29 21:37:37

回答

1

company IT Hit WebDav System提供

  • IT Hit WebDAV Server Engine v3 for .Net(起始于$ 1250))和
  • 一个IT Hit WebDAV Client .Net(开始于$ 350)。

它适用于iOS日历,Android CalDAV同步,Mac OS X日历,Mozilla Lightning,eM客户端,Bynari Outlook插件,Evolution和其他。

+0

只是一个快速的警告这是一个solustion pay'd – 2014-03-05 09:48:18

0

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

其他有趣的CalDAV客户有:

的Windows:

如果你正在寻找一个的iCalendar库.NET,您可以检查一个我的朋友和我建立: ICalendar

任何doudt你可以问我们!