Ho cercato di creare un calendario iCal in .NET che possa essere sincronizzato con altri dispositivi. Sto usando DDay.iCal per generare eventi iCal dai miei oggetti dati, e finora tutto funziona perfettamente. Da Outlook, mi sono iscritto al calendario (Add Calendar » da Internet) indicando un URL che genera un file ICS:File iCal aggiornabili a due vie in .NET
Response.Clear();
Response.ContentType = "text/calendar";
Response.AddHeader("Content-Disposition", "inline; filename=\"Calendar.ics\"");
Response.Write(GenerateCalendar());
Response.End();
Gli eventi sono correttamente importati nel calendario; tuttavia, in qualsiasi software di Calendar che ho provato, non sono stato in grado di aggiornare o eliminare eventi. Non è che ci sia un errore nel ricevere la notifica di cancellazione; è semplicemente che tutti i client riconoscono il calendario come di sola lettura.
La mia idea è che fornendo gli URL, sarei in grado di avere Outlook o Google Calendar contattare il mio server per eliminare un evento. La mia intera idea di come dovrebbe funzionare, o sto semplicemente perdendo le proprietà appropriate? (O, forse, sono io importare il calendario in modo non corretto, o distribuirlo in modo non corretto, secondo il codice di cui sopra?)
Un calendario generato da GenerateCalendar
sopra, potrebbe essere simile a questa:
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
Ciao David. Devo creare un server CalDAV per la mia applicazione .NET che contenga un calendario per sincronizzarlo con iPhone e altri dispositivi mobili. Ti chiederei se puoi indicarmi una direzione? O forse possiamo fare qualcosa insieme? – BennoDual
@ t.kehl: Non ho mai iniziato a creare un'intera implementazione CalDAV. Penso che l'opzione migliore sarebbe installare Exchange sul lato server e far sincronizzare i dispositivi mobili con quello, e usare l'applicazione per inviare le cose a Exchange. (Non mi sono nemmeno imbarcato su questo, però, quindi non ho alcun suggerimento) –