Создание службы 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.

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

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


person Keith    schedule 27.11.2009    source источник
comment
Мне интересно, вы что-нибудь с этим сделали?   -  person balexandre    schedule 30.05.2011


Ответы (3)


Я использовал http://sourceforge.net/projects/dday-ical/ для проект в прошлом году. Работает отлично!

person Ward Werbrouck    schedule 22.02.2010
comment
Это все еще можно использовать или слишком устарело? - person qwertz; 28.08.2016
comment
В последний раз библиотека обновлялась в 2016 году. Есть ли другой вариант? - person Yusril Maulidan Raji; 30.05.2018
comment
Я просто нашел кое-что еще. Я еще не пробовал, но есть даже документация по переходу с DDay.iCal. github.com/rianjs/ical.net - person Yusril Maulidan Raji; 30.05.2018

компания Hit WebDav System предлагает

  • IT Hit WebDAV Server Engine v3 for .Net (от $1250)) и
  • IT Hit WebDAV Client .Net (от 350 долларов США).

Он работает с календарем iOS, Android CalDAV-Sync, календарем Mac OS X, Mozilla Lightning, eM Client, плагином Bynari Outlook, Evolution и другими.

person IT Hit WebDAV    schedule 06.11.2013
comment
Просто быстрое предупреждение, это платное решение - person Jonathan D; 05.03.2014

Если вы ищете клиент CalDAV, я предлагаю DAVDroid, это лучший клиент CalDAV. никогда не пробовал. Это соединитель для учетной записи календаря вашего телефона, позволяющий использовать данные с вашего сервера CalDAV из любого приложения календаря, установленного на вашем телефоне.

Другие интересные клиенты CalDAV:

Окна:

  • Mozilla Thunderbird с расширением Lightning: Основная проблема этого клиента заключается в том, что у него нет автоматического обнаружения, поэтому вам придется писать маршрут вашей коллекции.

Если вы ищете библиотеку ICalendar для .NET, вы можете проверить ту, которую мы с другом создали: ICalendar.

Любые вопросы, которые вы можете задать нам!!!

person Nacho Vazquez Calleja    schedule 02.02.2018