9
votes

Deux fichiers icaux à double sens dans .NET

J'ai essayé de créer un calendrier ICAL dans .NET qui peut être synchronisé avec d'autres périphériques. J'utilise day.ical pour générer des événements icaux de mes objets de données , et jusqu'à présent, tout fonctionne bien. À partir de Outlook, j'ai abonné au calendrier ( Ajouter un calendrier em> » à partir d'Internet em>) en indiquant une URL qui génère un fichier ICS:

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


2 commentaires

Salut David. J'ai besoin de créer un serveur Caldav pour mon application .NET qui contient un calendrier pour synchroniser avec iPhone et autres appareils mobiles. Je vous demanderais si vous pouvez me signaler dans une direction? Ou peut-être pouvons-nous faire quelque chose ensemble?


@ T.Kehl: Je n'ai jamais commencé à construire une implémentation complète de Caldav. Je pense que la meilleure option serait d'installer Exchange Server-Server et d'avoir la synchronisation des périphériques mobiles avec cela et d'utiliser votre application pour appuyer sur les choses à échanger. (Je n'ai pas embarqué ce moi-même non plus, cependant, donc je n'ai pas vraiment de pointeurs)


4 Réponses :


0
votes

Je pense que vous devriez être capable de le faire fonctionner en modifiant la méthode de publication à la demande et en ajoutant une entrée d'organisateur au bloc Vevent, même s'il s'agit d'une adresse email factice.

Pour plus de détails, voir RFC 2446


4 commentaires

Merci, mais j'ai toujours du problème. Et même si je recevais le client de calendrier de reconnaître que je souhaite que des changements soient autorisés, comment puis-je être averti lorsque des modifications sont apportées. Le client est-il censé envoyer une demande à la propriété url ?


Je ne pense pas que vous alliez obtenir une réponse interactive directement à votre demande. Je soupçonne que cela pourrait être considéré comme un trou de sécurité assez important. Toutefois, si vous configurez une adresse électronique bien connue comme organisateur, puis créez une application qui surveille cette adresse électronique, vous devriez pouvoir recevoir les réponses générées par les utilisateurs acceptant ou annulant la demande d'invitation et mettez à jour votre calendrier interne de ces réponses.


Eh bien, cela fait partie de mon problème: même lors de la spécification d'un organisateur, cela apparaît correctement dans Outlook en tant qu'organisateur, je ne reçois toujours aucune réponse à cette adresse lorsque l'utilisateur clique sur "Accepter". Mais je pense que c'est en fait un morceau de ce que je veux: il existe plusieurs solutions multi-clients où les calendriers sont synchronisés à deux sens. Je ne vois pas pourquoi je ne devrais pas être capable de; La sécurité est quelque chose que je vais devoir vous inquiéter, évidemment. Est-ce juste que ce n'est pas possible dans le cadre du format ICAL ? Dans ce cas, je suppose que ma question est la suivante: quel format peut j'utilise, pour fournir un


Calendrier que je peux synchroniser avec un client de calendrier de mon choix et mettre à jour de mon logiciel, ou du logiciel de calendrier tiers, tel que Outlook ou Google Calendar?



1
votes

Ma compréhension est que vous devez héberger votre calendrier sur un serveur Caldav ( HTTPS: // www.rfc-editor.org/rfc/rfc4791 ). La publication simplement d'un fichier (.ics) est différente de l'hébergement d'un calendrier sur un moteur de calendrier.


5 commentaires

Merci. Je regarde aussi dans cette direction. Connaissez-vous de n'importe quel serveur de Caldav? J'ai surtout trouvé Mac-Stuff et quelques configurations PHP et Python jusqu'à présent. Sinon, je vais probablement laisser tomber ical et chercher à utiliser Exchange comme couche de messagerie ...


Je ne suis au courant d'aucun serveur .net Caldav. Je suis sûr que vous avez vu Ce déjà. Pouvez-vous transformer le problème sur sa tête: supposez un serveur hébergé (dire Google) et peupler un calendrier hébergé via Caldav Client API?


ma générosité était sur le point d'expirer; Vous pouvez l'avoir. Je ne pense pas que je supposerai un serveur hébergé, mais je peux envisager d'écrire un port de l'une des java open source de votre liste. Soit cela ou simplement en utilisant Exchange comme couche de messagerie ... je préfère organiser mes propres trucs, de toute façon ...


Je n'étais pas vraiment après la prime - merci cependant. J'ai eu le même problème moi-même et éventuellement abandonné pour ne pas vouloir comprendre la complexité de la gestion d'un serveur Caldav, notamment comment fusionner la notion de comptes de ce serveur avec le mien. À l'époque, ma conclusion était que la meilleure option consiste à utiliser le parce qu'il semble être activement Maintenu, et aussi je gère mes serveurs sur Linux w / la pile mono pour les applications .NET.


Voici l'exemple du serveur Caldav et la bibliothèque dans .NET: webdavsystem.com/server/server_examples/caldav_carddav_cshar p




1
votes

avait exactement le même problème et je l'ai résolu en installant DavMail Server et posté des événements calendaires publiés avec PHP. Il peut être configuré avec l'authentification de base HTTP qui est relativement facile à utiliser avec des objets tels que CURL. Davmail a de jolies documentation et guides de configuration pour divers appareils

Pour ce faire, vous pouvez simplement stocker des informations sur les informations d'identification des utilisateurs et faire une demande avec Crontab ou quelque chose de similaire.


0 commentaires