Not withstanding any mistakes, omissions (or further Windows Azure work) these three steps will migrate the project and give you an indication of the effort required to move a relatively old but not an un-complex solution to Windows Azure. This exercise should take you no more than 20 minutes (all going well!) if you are familiar and have an account setup with Windows Azure*.
* A quick live chat or phone call will get you a no-credit-card required Windows Azure platform free pass.
Reading: Walkthrough: Converting a Web Site Project to a Web Application Project in Visual Studio
1: <trace>
2: <listeners>
3: <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="AzureDiagnostics">
5: <filter type="" />
6: </add>
7: </listeners>
8: </trace>
1: using System;
2: using System.Collections.Generic;
3: using System.Linq;
4: using System.Web;
5: using System.Web.Profile;
6:
7: namespace PetShop.Web
8: {
9: public class CustomProfile
10: {
11: private ProfileBase Profile
12: {
13: get { return HttpContext.Current.Profile; }
14: }
15:
16:
17: public virtual PetShop.BLL.Cart WishList
18: {
19: get
20: {
21: return ((PetShop.BLL.Cart)(Profile.GetPropertyValue("WishList")));
22: }
23: set
24: {
25: Profile.SetPropertyValue("WishList", value);
26: }
27: }
28:
29: public virtual PetShop.BLL.Cart ShoppingCart
30: {
31: get
32: {
33: if (Profile.GetPropertyValue("ShoppingCart") == null)
34: Profile.SetPropertyValue("ShoppingCart", new PetShop.BLL.Cart());
35: return ((PetShop.BLL.Cart)(Profile.GetPropertyValue("ShoppingCart")));
36: }
37: set
38: {
39: Profile.SetPropertyValue("ShoppingCart", value);
40: }
41: }
42:
43: public virtual PetShop.Model.AddressInfo AccountInfo
44: {
45: get
46: {
47: return ((PetShop.Model.AddressInfo)(Profile.GetPropertyValue("AccountInfo")));
48: }
49: set
50: {
51: Profile.SetPropertyValue("AccountInfo", value);
52: }
53: }
54:
55: public void Save()
56: {
57: Profile.Save();
58: }
59:
60: }
61: }
private CustomProfile Profile = new CustomProfile();
With the Pet shop installed you will have your SQL Server setup with multiple databases installed. Its worth run SQL management studio to have a look.
Warning you will want to upgrade to SQL 2008 R2 SP2 if you have not already. Make sure you install the full version as outlined in this post. If you do not the SQL Migration Wizard, and other features, will not work as expected and give some interesting error messages.
Server=tcp:yourServer.database.windows.net,1433;Database=petshopnew;UserID=user@yourServer;Password=myPassword;Trusted_Connection=False;Encrypt=True;
protected TableDependency(string configKey) {..}
1: <connectionStrings>
2: <add name="PetShopConnectionString" connectionString="Server=tcp:yourServer.database.windows.net,1433;Database=petshopnew;user id=User@yourServer;password=Password;Trusted_Connection=false;Encrypt=true;MultipleActiveResultSets=True" providerName="System.Data.SqlClient"/>
3: </connectionStrings>
<add name="PetShopConnectionString" connectionString="Server=tcp:yourServer.database.windows.net,1433;Database=petshopnew;user id=User@yourServer;password=Password;Trusted_Connection=false;Encrypt=true;MultipleActiveResultSets=True" providerName="System.Data.SqlClient"/>
Along the way I would encourage compiling and building in Visual Studio to check and when complete, test in local emulator before finally testing in Windows Azure proper.
Its not a difficult task, particularly given it is a full port, though I would certainly not encourage migrations without looking at the test scenarios in more detail to confirm expected behaviour as well as consider ways the application can be scaled, monitored and managed better.