The .NET Addict's Blog

Kevin Hoffman

Subscribe to Kevin Hoffman: eMailAlertsEmail Alerts
Get Kevin Hoffman: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Related Topics: Cloud Computing, Memopal, Cloud Hosting & Service Providers Journal, Cloud Backup and Recovery Journal, Microsoft Developer, CIO/CTO Update, VITO Report

Blog Feed Post

Setting up an ASP.NET MVC 2 Application for Windows Azure

This update includes a truckload of new goodies that I will be covering in additional blog posts

Yesterday, Microsoft released another update to the Windows Azure SDK. This update includes a truckload of new goodies that I will be covering in additional blog posts. For this blog post, however, I want to walk you through getting an ASP.NET MVC 2 application working on Windows Azure in Visual Studio 2010 Beta 2. Now that Azure and VS2010 are finally starting to sync up, the amount of raw goodness coming out of Redmond cannot be measured.

First, install the Windows Azure SDK and the Windows Azure Tools for Visual Studio, making sure you pay attention to all of the installation details. There are lots of little hotfixes and things that you might need. Luckily, if you're running VS2010 Beta 2 on Windows 7, you have very little extra work to do beyond configuring IIS 7 for WCF HTTP activation.

Once you've got that installed, create a new project. The project template you're looking for is in the group Cloud Service and is called Cloud Service. Once you give this new solution a name and click next, you'll be given a dialog box that looks like the one in the screenshot below:


The fantastic thing here is that you'll see, without us having to do any hackery or modify any .csproj files with notepad, there is a web role available for an ASP.NET MVC 2 application. Click the right-arrow button to add that to your cloud service and then pick a worker role if you want one.

After you get that started, if you are running SQL Express, you should be able to hit F5 and see a nice hello world application. The local development storage simulator requires either SQL Express or a full version of SQL 2005+. If you're not running SQL Express and you're running a full version of SQL 2008 like a real developer (kidding!) then you'll need to open up a command prompt. Go to the c:\program files\windows azure SDK\v1.0\bin\devstore directory (this is the same for both 64 and 32-bit systems). Then run the following command:

dsinit /sqlinstance:. /forceCreate

If you're not using the default SQL instance, then replace the "." with the name of your instance. If your windows account doesn't have sufficient permissions to do this, then you'll need to either rectify that using SQL Server Management Studio or use an optional command-line parameter to specify the SQL server credentials required to create the development storage schemas. After executing this command, you'll see a dialog box like the one below:


Now you should be good to go. If you hit F5 in Visual Studio 2010, you'll see some scrolling messages in the status bar about "waiting for roles to startup" and it'll take a few minutes initially, but eventually you'll see the default home page from your MVC 2 project. If you think you're done, think again.

Just as with getting the MVC 1 project to work on Windows Azure, you cannot use the default providers. These providers work against a local SQL Express database by default and they don't work against cloud storage. You're going to need to fix this before you deploy your application to the cloud. For that, you're going to have to wait for my next blog post ;) Get your hello world working locally and then you'll be ready to tweak it as you follow along with my next post.

More Stories By Kevin Hoffman

Kevin Hoffman, editor-in-chief of SYS-CON's iPhone Developer's Journal, has been programming since he was 10 and has written everything from DOS shareware to n-tier, enterprise web applications in VB, C++, Delphi, and C. Hoffman is coauthor of Professional .NET Framework (Wrox Press) and co-author with Robert Foster of Microsoft SharePoint 2007 Development Unleashed. He authors The .NET Addict's Blog at .NET Developer's Journal.