Whidbey Product Feedback Center -> Let’s log some bugs, people! – level 100

I think it is terrific of Microsoft to make a tool like this available.  I’ve logged two bugs so far at the Whidbey Product Feedback Center.  There are over 1000 bugs logged.  It’s great.  The more bugs we find before RTM, the better the product will be.  And let’s face it folks, if you are using v1.1 now, you’ll be using v2.0 next year.  Unless you want to be like the people who reject upgrading to WinXP because they still favor Win95.  You can hold out for a little while, but eventually, we’ll all be using it.  Frankly, I look forward to it.  I’m using Beta 1 right now, and my team is doing a support tools project with ASP.NET 2.0 right now.  I’ll be porting my EZWeb project to v2.0, and in the process, I’m noticing some bugs.  These bugs aren’t major.  There are always work-arounds, but they are bugs nevertheless.  I praise Microsoft for soliciting this level of communication for thier upcoming product.

ASP.NET 2.0 backwards compatible? NOT. Here’s an obvious one – level 200

Most RAD developers will probably not encounter this breaking change, but for me, this doesn’t seem like something obscure:

In my pages, I make my <HEAD/> element accessible from code:

<head id=“Head” ruant=“server”>

</head>

Then, in my code-behind, I use:

protected HtmlGenericControl Head;

Then in code, I can add my title element as I need to, and I can add <meta/> elements programmatically.  Well, I try to run this page under ASP.NET 2.0, and my VERY FIRST experience with ASP.NET 2.0 comes back with a big, fat ERROR screen. 

Because the Page class in v2.0 has a Head property of type HtmlHead, my code will throw an error because I am accessing the HtmlHead Head; property through my HtmlGenericControl variable.  It worked great in v1.1, but it’s definitely a breaking change in v2.0.

I don’t really have beef with this change because a quick modification to my code solves the issue.  I do have beef, however, with the PR given to the “supposed“ backwards compatibility of v2.0.  Almost every article and book you read about v2.0 will say, “Never fear, your v1.1 apps will run just fine on v2.0 because it’s 100% backwards compatible.“:

ASP.NET 2.0 Internals claims this in the first line, and a direct quote from Migrating from ASP.NET 1.x to ASP.NET 2.0:  ”If you have ASP.NET 1.x applications in production, you will be relieved to know that ASP.NET 2.0 is fully backwards compatible. That is, your ASP.NET 1.x applications will run as normal on ASP.NET 2.0 without any changes.”  Well, my ASP.NET 1.1 application would not run on ASP.NET 2.0 without any changes.

I wish they would just be truthful.  I think statements like that are plain lies.  I have no problem with new versions have some published compatibility issues.  I know there will always be issues.  I just want to know about them.

Microsoft, I love you, but if you say something, I would like to believe it.  In this case, I wonder what other incompatibilities exist.

-now I await the inevitable comment that will prove me ignorant and misinformed. . . 🙂

Code-beside and the Code directory in ASP.NET 2.0 – level 200

I am in the process of porting my EZWeb application framework to ASP.NET 2.0.  Of course, this process will be similar to many projects that are currently in VS.NET 2003 format.  VS.NET 2005 will automatically convert the project.  I accepted the default option, and VS pulled all my code files into the newly-created “Code” folder, but my (converted) code-beside files were left with the corresponding ascx files.  I tried to run the application, and I ran into a roadblock.  It wouldn’t build because my .cs files that didn’t make it to the code directory were ignored.  Obviously I don’t want my code-beside files to be physically separated from the ascx files, so I think that the Code directory model is only useful for non-enterprise projects where you might want to deploy the source with the application and put all code in <script runat=server/> blocks in the ascx files.  Small hobbyist projects will probably benefit from this model because the deployed code-base and be modified directly without going through a lengthy develop-test-deploy cycle.  Academia will also probably use this model.  Especially with the free Visual Web Dev, intellisense in the HTML view will enable students to write Page_Load code, and they can even write classes and put them in the Code directory.  In my opinion, this change makes ASP.NET 2.0 viable for college classes.

But this still leaves me to explore another model for my enterprise-level web project.  I’m also a little annoyed that my favorite shortcut Ctrl+Shift+B (Build) was removed, and I’ll have to remap it.

EZWeb v1.0 released – .Net web application framework – level 300

I have finally released version 1.0 of EZWeb, a .Net web application framework.  You can download it from http://workspaces.gotdotnet.com/ezweb.  It is an open-source project that welcomes feedback and contribution.  EZWeb has been downloaded over 180 times from GotDotNet, and the latest release is the best yet.  If you aren’t familiar with EZWeb, look at some past posts on my blog.  EZWeb is a framework that abstracts away many of the mundane things one has to do when building a web application.  Features:


  • Templating feature very similar to master pages coming in v2.0 of ASP.NET

  • Plugin extensibility architecture.

  • Wrapper of the MS Data Access Applicationi Block

  • A completely automated content control system for users being able to build secitons of the site from the UI.

It’s ready to go right from the zip file, just make it an IIS application and then give the ASPNET user full rights to the directory in which you installed it.  EZWeb manages its own code and configuration files.

I’m planning on making a 2.0 version after porting it to ASP.NET version 2.0, so watch for that.  I’ll also be incorporating many of the new v2.0 features into EZWeb.

Bottom line:  If anyone has a website that is a burden to maintain, EZWeb can take away the burden.

Introducing the ASP.NET beta with Whidbey – level 100

I’m starting to gear up on ASP.NET 2.0, so you’ll probably be seeing future posts focus more on 2.0 instead of 1.1.  I also have plans to port my EZWeb framework to 2.0 and make use of the new 2.0 features.  Here’s a rundown of new features that ASP.NET 2.0 has:


  • Encapsulation of commonly written code so that developer-written code declines by 70%.

  • ASP.NET controls render adaptively to PDAs, cell phones instead of having to use separate mobile controls.

  • Some new administration tools for web apps.

  • 100% backwards compatibility.  There are new controls with new functionality, but the 1.1 controls are staying the same for compatibility.

  • 40-60 new web controls (GridView is like an enhanced DataGrid with paging and sorting and editing built-in without any need to code these features explicitly).

  • Master Pages – we’ve all heard the hype about being able to write one template for  your site and all pages will apply it.  That’s great, but it’s still up in the air whether we’ll be able to programmatically change the master page at runtime in order to support different looks of the site depending on user preference.

  • Site Navigation – built-in sitemap features.

  • User management tool instead of having to hard-code users into the web.config file if you previously used that method.

  • Personalization – built-in features to save user preferences.

  • Themes/Skins. (color schemes really: Basic Blue, Smoke and Glass, etc)

  • Mobile device support – geared in such a way that a small update can enable development support for new devices that will come out next year and later.

  • Built in site counters feature.

  • Configuration – now this is exciting.  Writeable configuration built-in instead of read-only.

  • Deployment – dynamic compilation.  In order to use code files instead of code in the ASPX file, we had to do a manual build before deploying the app.  Now, ASP.NET supports dynamic compilation of .cs, .vb, .js files.  This is especially exciting for small shops that want to be able to make quick tweaks to their RAD web apps without having to pull the whole project into VS.  or if they don’t have VS, they can modify a .cs file in notepad, and it will be dynamically compiled at runtime.  How cool is that.

  • For VS.NET, intellisense EVERYWHERE!  Inline code, javascript, you name it!

  • And of course, there are new features of C# and VB, but that’s not just ASP.NET specific.

I recommend you downloading the beta of VS 2005 or Web Dev Express and trying out some of these things.  It’s better to be ahead of the curve.  2.0 probably won’t be released until next summer, but I’m considering builting a support application with it right now, so I’ll post and let you know how it goes.