2013-05-29 2 views
4

Actuellement, l'utilisateur ajoute un "nouveau calendrier Internet", mais il s'agit d'un téléchargement unique du fichier ICS. Je souhaite que l'utilisateur clique sur un bouton pour que son calendrier personnel soit ajouté en tant qu'abonnement à Outlook. Je veux la mise à jour automatique "internet calendar subscription". Comme dans SharePoint, le bouton "Se connecter à Outlook" permet d'ajouter le calendrier que vous consultez à votre Outlook en tant que calendrier de synchronisation automatique.Comment créer un "abonnement au calendrier Internet" pour Outlook?

Répondre

4

Creating iCals in C# et this CodeProject post dites-moi que vous devez utiliser le DDay iCal Library.

DDay.iCal est une bibliothèque de classes iCal (RFC 5545) pour .NET 2.0 et versions ultérieures, Silverlight. Il vise à être aussi RFC 5545 compatible que possible, tout en ciblant la compatibilité avec les applications populaires agenda, comme Apple iCal, Outlook 2007, etc.

Certains sample code de iCal + MVC + DDay.iCal

public ActionResult iCalendar(string DownloadFileName) 
{ 
    DDay.iCal.iCalendar iCal = new DDay.iCal.iCalendar(); 

    Event evt = iCal.Create<Event>(); 
    evt.Start = iCalDateTime.Today.AddHours(8); 
    evt.End = evt.Start.AddHours(18); // This also sets the duration 
    evt.Description = "The event description"; 
    evt.Location = "Event location"; 
    evt.Summary = "18 hour event summary"; 

    evt = iCal.Create<Event>(); 
    evt.Start = iCalDateTime.Today.AddDays(5); 
    evt.End = evt.Start.AddDays(1); 
    evt.IsAllDay = true; 
    evt.Summary = "All-day event"; 

    ISerializationContext ctx = new SerializationContext(); 
    ISerializerFactory factory = new DDay.iCal.Serialization.iCalendar.SerializerFactory(); 
    IStringSerializer serializer = factory.Build(iCal.GetType(), ctx) as IStringSerializer; 

    string output = serializer.SerializeToString(iCal); 
    var contentType = "text/calendar"; 
    var bytes = Encoding.UTF8.GetBytes(output); 

    return File(bytes, contentType, DownloadFileName); 
} 
+0

Tout d'abord merci de commenter. Mon application a déjà un flux qui me donne le fichier ics pour mes perspectives. Le problème est que l'utilisateur doit ajouter le lien manuellement dans Outlook via add calendar => depuis internet. J'essaye de résoudre ceci avec un clic simple de bouton. J'ai également trouvé le jour et c'est ainsi que notre fichier ics est en train d'être généré. – whodares

+0

Peut-être que ce correctif peut aider. http://stackoverflow.com/questions/4349836/how-can-i-add-an-eting-meeting-automatically-to-the-organizers-calendar parce que quand vous cliquez sur le ical, il devrait être ouvert dans Outlook par par défaut (si installé bien sûr) –

+0

Le problème n'est pas que les perspectives ne l'ouvrent pas. Le problème est que je veux ajouter un calendrier INTERNET et pas seulement un fichier ics unique. Quand je laisse juste générer et ajouter le fichier ics manuellement, je ne reçois plus les mises à jour internet. – whodares

Questions connexes