Why ASP.NET 2.0 Sucks

I love ASP.NET 2.0. It gives me so many tools that help me do my job. But, I still think it sucks, or rather, some of the ideas placed into the framework for ASP.NET 2.0 suck.
1. App_Code
App_Code makes your job easier. You add your classes here and they compile with your web app. But, it comes at a cost. The App_Code still compiles as if it were a separate library. This means your App_Code errors bubble to the bottom of the list and you end up with numerous errors related to the fact App_Code did not compile at the top of the list, errors that cannot be solved until the App_Code errors are solved. The solution is to put your classes in a library and compile separately.
2. Fragile web.config
As more and more items get shoved into web.config, you end up with too many things that blow up your application. And, in many cases, the errors do not bubble up. This leads to an important rule when developing with ASP.NET 2.0: If you change config, compile before you do anything else. 
3. The box is too small
What I mean here is the provider model is cool, but if you use it for anything slightly different than the ASP.NET samples, you can pretty much hose yourself. The solution, of course, is to create a custom provider and add the items there. Trying to do anything else will work, but you end up with too many bugs.
4. The IDE freezes up
When you add a lot of flashiness to an IDE, you end up creating bugginess. While the features in ASP.NET 2.0 are miles above 1.1, the IDE is, in many ways, a step back. It uses a huge amount of memory and tends to freeze, lock up or even crash with more regularity than Visual Studio .NET. I have yet to find a way around this. NOTE: This is far worse with web appsthat reference other libraries, than straight ASP.NET apps.
5. Crap in the web.config
When you create a web app (at least a VB.NET web app, which I am forced to do right now ;->), some useless references are placed in the config file. Okay, they are not useless from an IDE standpoint, but they fry the production app. The way around this is to create an build script that gets rid of the extra crap that is not necessary for production. What is extra crap? Anything that causes your system to blow chunks when you publish and copy up.
6. The model is flat
If you want the fewest number of problems, bury all of the code in your ASP.NET pages and publish the code to the server and allow the compile on the fly model. Not an option for the timid, but it poses far fewer problems. It is almost like Microsoft chose to dumb down the product in this release.
Please understand that I love ASP.NET 2.0 far more than the 1.x implementations. I am mostly writing as there are some issues I have and I would like to see them fixed in Orcas, so my experience is much nicer. Of course, some of these are my own pet peeves and since I am advanced and can get around these, while a newbie might not be able to, I will probably have to suck it up … again.

3 Responses to Why ASP.NET 2.0 Sucks

  1. Patrick Altman says:

    Dude, what are you talking about.  I have had none of these problems in building ASP.NET 2.0 apps.  Absolutely none of them.  In fact, my experience has been quite the opposite.  The IDE is more robust.  Maybe it’s your machine.

  2. Gregory says:

    Hey, overall I like ASP.NET and VIsual Studio 2005. I have found, on quite a few machines, that it does not run as nicely as possible. And, the more complex the project, the worse it gets. Of course, I am also working in VB.NET right now, not my choice, so perhaps that has something to do with it? 🙂

  3. Eduardo says:

    But it is won-der-ful compared to PHP (PreHistoric Programming)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: