Я пытался создать календарь 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