Создание услуг CalDAV с .NET

Я хочу создать календарь в своем приложении, которое могут просмотреть внешние пользователи.

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 - просто способность получить календарь только для чтения.

Я главным образом хочу, чтобы это было в URL, который пользователи могут синхронизировать от iPhone, Android и телефонов Blackberry. Я знаю, что они могут обработать услуги CalDAV от некоторых поставщиков, но не других (например, мой iPhone может синхронизировать из Google Календаря, но сбоев с событиями Facebook) - у кого-либо есть какая-либо идея почему?

Я думаю, что события могут также содержать вложения MIME - это достаточно поддерживается, чтобы стоить изучить также?

Обновление

Дальнейшее исследование этого определило некоторые странные несоответствия в большинстве реализаций. Ни одно из главного мобильного клиентского OSs (iPhone, Blackberry, Android) не может обработать .ics файлы.

Однако iPhone могут открыться, .ics от URL (примите решение подписаться на календарь), и это действительно работает с Facebook также. Blackberry и Android не могут как бы то ни было. Я думаю, что Blackberry может обработать полную опцию CalDAV (а не просто .ics файл), но не знает много о программировании для него.

Существует ли последовательный способ сделать это там?

11
задан Keith 30 November 2009 в 16:24
поделиться