It was recently brought to my attention that I had credits available for free "Economy Hosting" at Godaddy.com where I purchase my domains. Now I assumed that this would only include Linux based PHP/MySQL hosting which wouldn't do me any good. But to my great surprise this free hosting includes ASP.NET hosting in addition to an MS SQL database. So now I can move my sites off of my limited upstream home server onto a host with greater reliability and bandwidth. So all I have to do is transfer my database and files to Godaddy and I'm done...easy right? Well, rarely is anything ever that easy.
The first problem I ran into was while trying to migrate the CommunityServer database. Godaddy supports the Microsoft Database Publishing Wizard (DPW) which is great except that it fails when trying to publish tables with large row sizes. In particular it kept failing when attempting to publish the cs_PostAttachments table which contains some relatively large files. I'm still not sure why since the only error returned was "Internal Error", but I'm assuming it is due to a timeout from the Godaddy webservice. So instead of using the DPW to transfer that one table I thought OK...I'll just script the table and run it via Godaddy's online Query Analyzer tool. Strike two...the query analyzer tool has a 2.5MB size limit on uploaded scripts and simply pasting the script into the window caused a timeout error on postback. Sigh....
Not being one to give up easily I decided to just forget about trying to migrate the table and re-upload the attachments via the CommunityServer interface. Maddeningly, the problem then became one of ASP.NET configuration. I had initially configured IIS7 for ASP.NET 2.0, which is how my home server is configured. But this resulted in an "Operation could destabilize the runtime" exception. I'm not sure why this exception is thrown. Granted I'm running CommunityServer 2.0 with the ASP.NET 1.1 compiled assemblies but I'm running it fine on my home server with IIS configured for ASP.NET 2.0. The only difference that I can discern is that my home server is running IIS6 and the app is running with a High trust level whereas on Godaddy it is running IIS7 with a Medium trust level. Even changing the IIS7 pipeline mode from Integrated to Classic didn't help so I'm guessing it is some security issue with IIS7, the trust level or a combination of the two.
In the end I decided not to waste any more time trying to get CommunityServer 2.0 running and opted instead to switch to a different blog server application. So after several frustrating hours of trying to migrate CommunityServer and giving up, this site is now running on BlogEngine.NET. Not only was BlogEngine a breeze to install it is also very easy to configure and theme. Even better is that it doesn't require a database backend so doing site backups is as simple as zipping the folder.