Двустороннее обновление файлов iCal в .NET

Я пытался создать календарь iCal в .NET, который можно было бы синхронизировать с другими устройствами. Я использовал DDay.iCal для генерации событий iCal из моих объектов данных, и пока все работает нормально. Из Outlook я подписался на календарь ( Добавить календарь » Из Интернета ), указав URL-адрес, который создает файл ics:

Response.Clear();
Response.ContentType = "text/calendar";
Response.AddHeader("Content-Disposition", "inline; filename=\"Calendar.ics\"");
Response.Write( GenerateCalendar() );
Response.End();

События правильно импортируются в календарь; однако ни в одной программе Календаря, которую я пробовал, мне не удавалось обновлять или удалять события. Дело не в том, что при получении уведомления об удалении произошла ошибка; просто все клиенты распознают календарь как доступный только для чтения.

Я считаю, что, указав URL-адреса, я смогу связать Outlook или календарь Google с моим сервером, чтобы удалить событие. Все ли мое представление о том, как это должно работать, неправильно, или я просто упускаю нужные свойства? (Или, возможно, я неправильно импортирую календарь или неправильно его распространяю, согласно приведенному выше коду?)

Календарь, созданный с помощью GenerateCalendar выше, может выглядеть примерно так:

BEGIN:VCALENDAR
VERSION:2.0
METHOD:PUBLISH
PRODID:-//My Company//My App//EN
URL:http://localhost/test/
X-WR-CALNAME:Test
BEGIN:VEVENT
DTEND:20110831T100100
DTSTAMP:20111028T091109
DTSTART:20110831T090100
SEQUENCE:0
SUMMARY:Test
UID:1
URL:http://localhost/test/?id=1
END:VEVENT
END:VCALENDAR

9
задан Peter O. 31 October 2011 в 12:54
поделиться