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