FamousPhil.com -- Home My Calendar Youtube LinkedIn Facebook MySpace Twitter RSS Blog Feed

Blog Navigation


Latest Activity

Scaling a SNMP Version 3 trap receiver using Java

Phil explains how to write a scalable SNMP Trap and Inform message receiver in Java using SNMP4J. He also explains what SNMP is and surrounding ideas such as TCP and UDP.

Exchange 2010 Calendar to ICalendar using ASP.net / C# – Part 1/2

For a long time now (2 years and counting), I’ve been wanting to dabble with ASP and Microsoft web technologies.  It seems that for every project that I want to dabble with, I have to gather a lot of ambition and have an end goal in mind well before I begin.  I guess that being a seasoned programmer; I have gotten very lazy at what projects I feel like attacking (this is partially why this blog doesn’t get a post every day).

Recently, I gathered enough ambition to finally solve the problem: Exporting an Exchange calendar to an ics file (also known as the icalendar or vcalendar format).  Up until last January when I upgraded to Exchange 2010, I have been able to get my calendar and publish it on my website by using the webdav protocol.  Webdav is a way to gain access to remote information on a webserver without a lot of hassle.

The most common use of webdav is remote file access.  Typically, when newbies begin developing on websites, they want an easy way to get to their website without having to use other software.  Using webdav, a user can simply use the built in Windows/Mac/Linux interface to connect directly to the remote web server.  This will provide the user with a new drive which is directly linked to the remote server.

Coming back to Exchange Calendars, Exchange 2007 depreciated webdav for a new concept called Exchange Web Services (EWS), while Exchange 2010 completely removed webdav.  So this left me holding the webdav code (that worked well until January) without any replacement.  I tried a very poor method to keep my calendar somewhat live from January until April, but ultimately, it failed miserably.  Basically I used outlook to connect to Exchange, google calendar to connect to outlook, then I posted a google calendar to my site.  With all the hops, my calendar was rarely in sync with what was on my website (there were too many possible failure points).  This is when I began looking for a solution using Exchange Web Services.

I tend to support open source solutions when they’re available so I spent roughly 2 months intermittently searching for a solution using only PHP, Perl, Python or Ruby to retrieve my exchange calendar.  My goal was to convert this into the VCalendar format which then an open source solution could display on my website (I’ve been looking at Monket Calendar ).  Unfortunately, short of writing a few new libraries for Exchange connectivity from PHP (probably using SOAP which is a common communication protocol that PHP can interface with), I decided that maybe it’s time to learn ASP.net to become proficient at something new.  To me, new languages aren’t a big deal anymore since I’ve learned the core concepts and what a new language really is (Kudos to Carl Alphonce for teaching me this).

I’ve been tossing around if I want to share my asp.net solution as open source considering the cheapest solution for what I wanted to do is $600 commercially PER SERVER, AND Microsoft has fairly poor documentation when it comes to Exchange newbies (such as myself).  After a lot of consideration, I’ve decided to post a general guide to getting started using Visual Studio 2010 along with the actual code for connecting Exchange (yay:  you’re in luck!).

Since I like to keep my blogs somewhat small, I’m going to defer my code and explanation a few days since that blog post will pertain more to coders, not so much the general audience (with general explanations).

Tags: , , , , ,
Posted in Programming

This entry was posted on Tuesday, August 17th, 2010 at 8:48 pm and is filed under Programming. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

9 Responses to “Exchange 2010 Calendar to ICalendar using ASP.net / C# – Part 1/2”

  1. Jona says:

    Hey! Is it okay if I go a bit off topic? I’m trying to read your domain on my Mac but it doesn’t display properly, any suggestions? Thanks in advance! Jona

  2. Famous Phil says:

    I can guarantee support for Firefox, Safari, Chrome, and Internet Explorer on Windows and Firefox / Chrome on Linux. I have never considered testing Mac because it is basically Linux, but I will look into that and hopefully have any issues with Mac fixed (using Safari). I don’t support Opera because there seems to be an issue with that browser when navigating the site and I haven’t had a chance to fix it yet.

  3. jim says:

    this is awesome man

  4. I like this blog. I’ll certainly be looking into it often.

  5. Hettie Klem says:

    Being a complete newbie, all I can say is thanks for sharing this.

  6. Eli says:

    Then finally an excellent writing in relation to the topic, maintain the great work and thus I wish to read a lot more within you in the long run.

  7. Ron Alverson says:

    article. It’s everything here exactly what I need to know.

  8. gbsde says:


    fine, your http://www.alljewishlinks.com web site design is definitely wonderful, I’m seeking to get a new theme for my own weblog, I like yours, now I am going to go search the very same design!…

  9. Jenny says:

    After reading this I thought it was very informative. I appreciate you taking the time to put this blog piece together. I once again find myself spending way to much time both reading and commenting. What ever, it was still worth it !

Leave a Reply