C# – is there anyway to provide a ics Calendar file that will automatically keep in sync with updates

cicalendarsync

i see using this calendar library in C# that i can programatically generate an ics file with a bunch of calendar events.

but I want a solution if i a person wants to subscribe to a calendar so when future events get added or deleted that that person gets updated.

When you subscribe to a ics file on a server from outlook, it looks like outlook just gets a snapshot based on this from the outlook help file:= (i assume its the same behavior as it i sent a calendar via email)

Send a Calendar via E-mail You can send any of the calendars you own to another person in an e-mail message. This is a type of Internet Calendar called a Calendar Snapshot. The calendar appears within the body of an e-mail message. However, an Office Outlook 2007 user who receives the Calendar Snapshot can choose to open the calendar as an Outlook calendar. Doing so can display the Calendar Snapshot and the current calendar in side-by-side mode or calendar overlay mode.

is there any programmatic solution to allow a person to subscribe to a iCalendar file (or other format) that would always stay up to date with the latest changes over time?

Best Answer

Outlook will update based on a server-based .ics file. Store the file on a web server somewhere (I have used a Wiki page successfully) and then use a webcal:// address instead of the http:// address. Outlook should pick this up automatically.

This will generally refresh as part of the "Send/Receive" but can also be configured through "Account Settings...Internet Calendars".

I have done exactly what you are looking to do, same library and all. The update worked a treat within a large organisation with many people subscribing to the calendar files.

This might help as well: http://blogs.msdn.com/b/michael_affronti/archive/2006/05/10/594986.aspx

Related Topic