Создание службы 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 - достаточно ли это поддерживается, чтобы на них тоже стоило посмотреть?

Обновить

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

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

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

Ответы на вопрос(3)

Ваш ответ на вопрос