Lebih
Menciptakan iCal File di c#
I'm mencari metode yang baik menghasilkan file iCalendar (*.ics) di c# (asp.net). I've menemukan beberapa sumber daya, tetapi satu hal yang telah kurang lebih dukungan mereka untuk quoted-printable bidang - bidang yang memiliki kereta kembali dan line feed.
Misalnya, jika deskripsi bidang isn't dikodekan dengan benar, hanya baris pertama akan menampilkan dan mungkin merusak seluruh informasi dalam *.file ics.
I'm mencari kelas-kelas yang ada yang dapat menghasilkan *.file ics dan/atau kelas yang dapat menghasilkan quoted-printable bidang.
76
9
Saya menggunakan DDay.Ical, untuk hal-hal yang baik. Memiliki kemampuan untuk membuka file ical dan mendapatkan data dalam sebuah nice object model. Ia mengatakan versi beta, tapi ini karya besar untuk kita.
Edit Nov 2016
Perpustakaan ini telah usang, tapi dijemput dan dirilis ulang sebagai iCal.NET oleh dev.
Catatan tentang rilis: rianjs.net/2016/07/dday-ical-is-now-ical-net
Sumber di GitHub: github.com/rianjs/ical.net
Cara termudah I've ditemukan untuk melakukan ini adalah untuk markup HTML anda menggunakan microformats.
Jika anda'kembali mencari untuk menghasilkan file iCalendar maka anda bisa menggunakan tersedia dalam hnews kemudian menyertakan link seperti 'Tambahkan ke Kalender' yang menunjuk ke:
http://feeds.technorati.com/events/[ halaman anda's URL lengkap termasuk http:// ]
Technorati halaman kemudian mem-parsing halaman anda, ekstrak tersedia dalam info dan mengirimkan file iCalendar untuk klien.
Saya menulis shim berfungsi untuk menangani hal ini. It's kebanyakan compliant--satu-satunya hangup adalah bahwa baris pertama adalah 74 karakter bukan dari 75 (74 adalah untuk menangani ruang pada baris berikutnya)...
Saya menggunakan ini untuk ringkasan dan deskripsi pada kami ICS pakan. Hanya makan sesuai dengan bidang yang sudah ditambahkan (misalnya LongText = "SUMMARY:Judul Acara"). Selama anda mengatur caching sopan panjang, it's tidak terlalu mahal dari operasi.
iCal (ical 2.0) dan quoted-printable don't pergi bersama-sama.
Quoted-printable banyak digunakan di vCal (vCal 1.0) untuk mewakili karakter non-printable, misalnya garis-istirahat (=0D=0A). Default vCal encoding 7 bit, sehingga kadang-kadang anda perlu menggunakan quoted-printable untuk mewakili karakter non-ASCII (anda dapat mengganti default encoding, tetapi yang lain vCal-compliant berkomunikasi partai tidak diperlukan untuk memahaminya.)
Di iCal, karakter khusus yang direpresentasikan menggunakan lolos, misalnya '\n'. Default encoding UTF-8, semua iCal-compliant pihak harus mendukung dan yang membuat quoted-printable benar-benar tidak perlu di iCal 2.0 (dan vCard 3.0, hal ini).
Anda mungkin perlu untuk kembali pelanggan/stakeholder untuk memperjelas persyaratan. Sepertinya ada kebingungan antara vCal dan iCal.
Menurut RFC-2445, komentar dan deskripsi bidang TEKS. Aturan untuk uji lapangan adalah: [1] satu baris dalam kolom TEKS tidak melebihi 75 oktet. [2] Pembungkus dicapai dengan memasukkan CRLF diikuti oleh spasi. [3] Ada beberapa karakter yang harus dikodekan termasuk \ (reverse slash) ; (titik koma) , (koma) dan baris baru. Menggunakan \ (reverse slash) sebagai pembatas memberikan \ \; \, \n
Contoh: berikut ini adalah contoh dari properti dengan diformat jeda baris dalam nilai properti:
Check out http://www.codeproject.com/KB/vb/vcalendar.aspx
Itu doesn't menangani quoted-printable bidang seperti yang kau minta, tapi sisa kode yang ada dan dapat dimodifikasi.
iCal dapat menjadi rumit, jadi saya sarankan untuk menggunakan perpustakaan. DDay adalah sebuah solusi gratis. Lalu aku memeriksa itu didn't memiliki dukungan penuh untuk acara berulang, tapi lain dari itu terlihat benar-benar bagus. Pasti menguji kalender dengan beberapa klien.
aku tahu itu terlambat, tapi itu mungkin membantu orang lain. dalam kasus saya saya tulis berikut file teks dengan .ics ekstensi
ini bekerja untuk saya.
I'm hilang contoh dengan zona waktu kustom. Jadi di sini cuplikan yang menunjukkan bagaimana anda dapat mengatur zona waktu di ics (dan mengirimkannya ke browser dalam asp.net).