Rebuilding in ASP.NET MVC 2 - Part 1

UPDATE: Links to the MVC site on the URL are no longer active, now that the site is live at

I have finally decided to rebuild this web site - in ASP.NET MVC 2.

The core of this web site pretty old. Some underlying code and concepts are from the time where ASP.NET was still called ASP Plus and other parts are from the 1.0 beta time frame. With each new major release of ASP.NET (1.1, 2.0 and 3.5) I rewrote parts of the application, taking advantage of new features offered by the platform, cleaning up or deleting code I no longer needed.

But now it's time for a complete rewrite in ASP.NET MVC 2. The structure and content of this site lends itself pretty well for this design pattern. By rebuilding in ASP.NET MVC, I can take advantage of cleaner URLs and routing mechanisms, hopefully increasing search engine rankings and indexability. Additionally, my site should be a lot easier to maintain and test from a coding perspective as currently the entire project has become quite messy.

I have the following features / ideas in mind:

  • I'll be using MVC 2 (currently in beta / release candidate state)
  • I'll use the ADO.NET Entity Framework 4 for most of my data access
  • I'll use a hybrid combination of ASP.NET MVC and ASP.NET Win Forms in order to reuse most, if not all of my current CMS and administration section.
  • I'll be using Castle Windsor for IoC / DI scenarios

You can follow my progress here: Right now, all that's in place is the basic routing engine and the category and articles systems. Over the next couple of weeks, I'll be adding features to the site, and blog about interesting issues I have ran into. Please don't link to articles on that site but use the main web site ( instead as the mvc URL is only temporary.

Where to Next?

Wonder where to go next? You can read existing comments below or you can post a comment yourself on this article .

Consider making a donation
Please consider making a donation using PayPal. Your donation helps me to pay the bills so I can keep running Imar.Spaanjaars.Com, providing fresh content as often as possible.

Feedback by Other Visitors of Imar.Spaanjaars.Com

On Tuesday, March 9, 2010 12:59:36 PM Tom Kamphuis said:
Good luck with the MVC 2 implementation, I'll be starting to work on my own MVC 2 project pretty soon.
On Monday, March 22, 2010 2:42:55 PM Jing said:
It's good to see you decide to move to ASP.NET MVC.
One question for you, why you choose Entity Framework over LINQ in your project?
On Monday, March 22, 2010 2:46:26 PM Imar Spaanjaars said:
Hi Jing,

Do you mean "Linq to SQL" instead of just Linq? If so, I chose EF as it's recommended by Microsoft as the data access strategy for the future. L2S will still be supported but won't be developed as actively as EF is. In other words, EF is a more future-proof investment.


On Tuesday, March 23, 2010 10:11:44 AM Jing said:
Hi, Imar

Yes, I mean "Linq to SQL". I hope you can blog more technical details about the rebuild ASP.NET MVC, but not only what's new in your MVC project. :-)
On Tuesday, July 6, 2010 1:23:17 PM Alexey Tarasov said:
Hi, Imar

Currently Entity Framework 4 doesn't support enumerations, which is very inconvenient and considered a substantial demerit.

Do you know if MS are planning to address this issue and if yes in which release will this be fixed and how soon?
On Tuesday, July 6, 2010 1:29:28 PM Imar Spaanjaars said:
Hi Alexey,

No, I don't know. I guess you better ask Microsoft.... ;-)

On Tuesday, May 24, 2011 1:43:27 PM Pat Brown said:
Hey Imar just a word of thanks for the N-Layered Web Applications with ASP.Net 3.5 the book I bought a while back. The Validation piece is a thing of beauty. The whole thing was well thought out and I'm using it as a basis for my framework.

So have you written anywhere what you really like about MVC? Do you plan on doing the same for MVC as you did for ASP.Net 3.5?


--Pat Brown
On Tuesday, May 24, 2011 2:13:10 PM Imar Spaanjaars said:
Hi Pat,

Thank you for your kind words, and thank you for your donation!

Yes, I have plans to do an MVC version, along with Entity Framework code first and repositories, but unfortunately I don't have the time to write about it now. I hope to do it before MVC 6, and EF Code First 8 though... ;-)



Talk Back! Comment on Imar.Spaanjaars.Com

I am interested in what you have to say about this article. Feel free to post any comments, remarks or questions you may have about this article. The Talk Back feature is not meant for technical questions that are not directly related to this article. So, a post like "Hey, can you tell me how I can upload files to a MySQL database in PHP?" is likely to be removed. Also spam and unrealistic job offers will be deleted immediately.

When you post a comment, you have to provide your name and the comment. Your e-mail address is optional and you only need to provide it if you want me to contact you. It will not be displayed along with your comment. I got sick and tired of the comment spam I was receiving, so I have protected this page with a simple calculation exercise. This means that if you want to leave a comment, you'll need to complete the calculation before you hit the Post Comment button.

If you want to object to a comment made by another visitor, be sure to contact me and I'll look into it ASAP. Don't forget to mention the page link, or the QuickDocId of the document.

For more information about the Talk Back feature, check out this news item.