Steve Smith's Blog

Musings on Software and the Developer Community

Azure Tooling Suggestion for Web Roles

With Azure today, there are two projects, you can create a Web Role which is basically an ASP.NET Web Application that is configured to automatically deploy to the local dev fabric (local cloud proxy).  When you Run the application, with F5 or Ctrl-F5, it will package up the application and deploy it to your local dev fabric, along with starting other services like AzureStorage locally, so that you get a nice dev experience.

However, since it’s really an ASP.NET Project under the covers, the Web Role project also supports (in the solution explorer) the Right-Click, View in Browser command that ASP.NET apps all have.  And it (mostly) works!  However, it doesn’t actually run on the local dev fabric – it launches the Local Dev Server (Cassini) just like any ASP.NET project.  This is something I find myself doing out of habit, and having a site designed to run on the dev fabric running in Cassini usually doesn’t work all that well.  Hopefully later versions of the SDK will update the project template and/or tooling support so that one can launch the app in the dev fabric from the solution explorer, and one cannot launch a Web Role Azure project with Cassini.

    kick it on DotNetKicks.com

Tuesday, 03 March 2009

Comments

 avatar

BBQ NYC said on 04 Mar 2009 at 2:37 PM

It sounds like Web Role shouldn't be too hard to comprehend so long as you know ASP.net. Thanks.


 avatar

Ben Scheirman said on 04 Mar 2009 at 3:32 PM

I ran across that as well and made sure that I covered it in my Azure talks. It's definitely confusing at first, but once you understand it, it makes sense.


 avatar

Gus Perez said on 06 Mar 2009 at 5:34 PM

Hi Steve, I'm the dev lead for the Azure Tools team at MS. Thanks for the feedback. It's something we're aware of but think the first time we'll get to fix parts of it will be with VS 2010 as we need some work from the Web Dev project team to allow us to hook into their "View in Browser" command unless we find some other creative way of doing that. We've had to do plenty of that already for things like reading their debugger selections, figuring out what the start up page is, etc. but we haven't figured this one out yet.

We have full control over everything in the actual "Cloud Service" project node as that's a project system we've built from scratch. For our role nodes, we leverage the corresponding project system used for that project type. That's when we run into some things like what you're mentioning that's not something that was necessarily considered a scenario for those project systems now suddenly with our Azure Tools.

Thanks again though. Let me know if you have any other feedback as well (@gusper on twitter).


 avatar

alex said on 12 Feb 2010 at 6:00 AM

Strange thing happened to me:

webrole,default.aspx: <%X x = new X();%>

class x{string word = "FFFF"; for(int i=0;i<6;i++) word.Replace("F","FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");

Result: OutOfMemory. The code works in a classic console application.. Where is the problem?