Unless you are somehow already tied to Microsoft I don't see how it is at all sane to go with .NET for a greenfield project.
In .NET you are paying Microsoft for whatever they deem suitable to bequeath down to its licensees. There's been a lot of hand-wringing in the community over slow uptake on new web tech, and general problems that go unresolved because it's not an open source model. On the plus side, you get a nice IDE and documentation.
In Rails on the other hand, v3 just came out, allowing both sensible defaults, and unprecedented modularity. If Rails is too heavyweight you also have Sinatra. Everything is built on Rack which makes things much more standardized and interoperable amongst a range of web server options. You even have people doing work to integrate Ruby backends with bleeding edge tech like node.js that has huge world-changing advantages for certain types of applications over the monolithic and antiquated MS stack. In general the Ruby world is well integrated with the Unix and Open Source worlds where you are free and able to solve your own problems as well as take advantage of rapid progress by the community.
Given Microsoft's lack of success on the web over the years, and the amount of lock-in that Microsoft imposes on its developers, it just seems like a no brainer to go with open technologies (whether that be Rails, Django, or some PHP framework). The counterpoint is if your most talented developers are .NET guys, or you have a bunch of legacy MS stuff to integrate with.
"Lack of success on the web"? Besides the obvious "Stack Overflow, Myspace, Plenty of Fish" answer, observe that many --- perhaps over 50% --- of the largest company sites on the web are .NET, as are retail banking sites, trading firms, brokerages, etc. And, obviously, something like half of all enterprise web apps are .NET.
If that all seems like it trends corporate for you, well, that's obviously going to happen when your platform costs money.
All else being equal, would I start a new project on Microsoft's stack? No. But if I was really strong on ASP.NET and completely new to Django or Rails, I'd stick with ASP.NET. It works, it works at scale, and it's far from the hardest stack to code for. I might even suggest it's better than PHP, all else being equal.
IMO it just depends on the servers you're going to be using and who you'll be working with. I would stay away, far away from traditional ASP.NET. MVC is far better, but I would only really use it over Rails if I was working on a primarily MS stack environment.
In .NET you are paying Microsoft for whatever they deem suitable to bequeath down to its licensees. There's been a lot of hand-wringing in the community over slow uptake on new web tech, and general problems that go unresolved because it's not an open source model. On the plus side, you get a nice IDE and documentation.
In Rails on the other hand, v3 just came out, allowing both sensible defaults, and unprecedented modularity. If Rails is too heavyweight you also have Sinatra. Everything is built on Rack which makes things much more standardized and interoperable amongst a range of web server options. You even have people doing work to integrate Ruby backends with bleeding edge tech like node.js that has huge world-changing advantages for certain types of applications over the monolithic and antiquated MS stack. In general the Ruby world is well integrated with the Unix and Open Source worlds where you are free and able to solve your own problems as well as take advantage of rapid progress by the community.
Given Microsoft's lack of success on the web over the years, and the amount of lock-in that Microsoft imposes on its developers, it just seems like a no brainer to go with open technologies (whether that be Rails, Django, or some PHP framework). The counterpoint is if your most talented developers are .NET guys, or you have a bunch of legacy MS stuff to integrate with.