0

Currently I'm working with a big, old and extremely poorly written ASP.NET 1.1 application and the continuous maintenance is becoming quite a problem. Basically it's reaching breaking point and I'm reluctant to expand it any more than I have to as demanded by the business. Based on my experience creating other projects from scratch it would really suit an ASP.NET MVC based solution. Oh how I wish the world were that simple...

The fact is that I just cannot justify re-writing it from scratch and the business cannot afford it. The ideal solution would be to start writing an MVC-based application alongside it and begin a slow migration as new requirements arise.

I've read posts which state that this is entirely possible, but in my experiments I've not found it so easy. The current application contains several large data access and business logic layers shared by other applications that the company produces. These are also written in 1.1 and will not compile in 2.0 (and would destroy the other projects if I tried!) so I cannot upgrade them. Since I can't do that I'm stuck with an application that cannot even be opened in a .NET 3.5 capable visual studio. The new MVC app would also have to make use of these layers.

I am entirely open to suggestions. I'm desperate to find a solution that I can quickly demonstrate would allow me to improve the product immensely without taking too much time or affecting the rest of the business.

2
  • Can you give an example of a compile error? There shouldn't be any compile errors - just some subtle bugs. Commented Feb 17, 2010 at 9:09
  • There are a couple of immediate issues - the main one (though not a direct concern to me!) is that one of the other products, a windows app, contains controls which will not compile above 1.1. Secondly the datasets in the data access layer appear to be changed quite considerably which causes problems, though I've yet to see if they affect my project directly. As you can probably tell, I'm fighting against a desire in other areas of the business to do nothing at all. I'm sure many people have come across this in the past. I need to get something running as proof that there is a better way. Commented Feb 17, 2010 at 9:45

2 Answers 2

2

You could write a WCF service on top of the existing business layer and have your new app talk to that service instead of referencing the business layer directly.

Sign up to request clarification or add additional context in comments.

3 Comments

I'm not sure how that would help. I'd still be left with the need to create .NET 3.5 components in what is currently a .NET 1.1 project. Or am I missing the point?
But surely you can reference the .NET 1.1 DLLs in a .NET 3.5 project without having to rebuild the source code? I am thinking something like this: Write a WCF service that references the .NET 1.1 DLLs and exposes the methods that you need for your project. If the .NET 1.1 components have evolved over time and are used in several different projects, maybe you will not need all those methods. Then build your asp.net on top of that wcf service.
Sorry, the last sentence should read "Then build your asp.net MVC app on top of that wcf service",
0

You need to divide to conquer. Analyse the current app and its layers and see if you find a way to divide each significant piece of functionality into a discrete area with as few changes as possible. Then make each area a unique service using the old technology. Then you can rewrite each service slowly as you can fit it in and not affect the whole.

Otherwise you are going to have to come up with a convincing business case for your managers so that they allocate you the time to do the job properly. Sometimes our job is political as well as technical.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.