Migrating web-based application from Classic ASP to ASP.NET MVC

We have a web application(hotel management software) which is developed in classic ASP with SQL server 2012 and it evolved over 8 years to its current form which has 825 of pages(including the process pages), huge database and more than 300 active users going through at least 30 pages per day.

We are using  Session ,Cookies ,Query String etc in Application. As this is an existing and working application we do have daily support issue fixes and new enhancement going on in  .asp , but we have to migrate this application  to ASP.NET MVC .What is best approach and design to continue current application while starting migration in parallel.

Can we use same IIS directory for both .asp and ASP.NET MVC application to host new pages ? How to plan and go ahead with this migration.

We thought of identifying the main modules in this application and rewriting them one by one by separating the application into different layers such as database (existing), then business logic and the view. This way newly developed modules will be added to existing system and new pages will replace old pages in that particular module. At the same time we can test the new layers alongside old system and release them once we feel confident.

Advise with any sample implementation document will be of great help and value.

The code we have now is not written function by function and the design, SQL and functionality code are all in the same page.  Help us on the database design also which would support entity framework.

With Gratitude,
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Nirmalan NagenthiranSoftware EngineerCommented:
Hi Gracesoft,

Divide your pages as modules as per their functionality (eg. Accounts, RoomReservation, Employees etc.). As per the modules create a proper plan for your migration.  

Better create a new different environment for your MVC development & Database setup (maybe named it "Staging"). Also let your old system work as usual.  

If you are going to use your database you better go for database first approach in MVC (http://www.entityframeworktutorial.net/database-first-with-entity-framework.aspx).

Plan for N-tier architecture (http://www.codeproject.com/Articles/70061/Architecture-Guide-ASP-NET-MVC-Framework-N-tier-En) and move all your business logic into Business Layer.  

I would advice you to create a fresh MVC application instead of merging module by module. For testing you could simulate the production environment into Staging and check all functionality that you create are working well.

I think this gives you a bit of an idea to start. All the best


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
ste5anSenior DeveloperCommented:
When you can host the old site on the new system, then you can migrate page by page.

But as Nimmy said, doing it module wise makes more sense. Cause MVC is build on a model pattern and this must be first designed. Doing a model per page would result in too much overhead.

Also: Define the migration goals and the new design goals. For example the speed of migration or should the new design be based on a code-first or database-first approach.
gracesoftAuthor Commented:
Thank You for the suggestions
The 7 Worst Nightmares of a Sysadmin

Fear not! To defend your business’ IT systems we’re going to shine a light on the seven most sinister terrors that haunt sysadmins. That way you can be sure there’s nothing in your stack waiting to go bump in the night.

Pravin AsarPrincipal Systems EngineerCommented:
What is time frame you  have for this migration project.

You may look at some tools that can help you quickly transition.
Since your app is in production usage for 8 years, I am assuming Database design is pretty much settled.

Look at


Also you may look at IronSpeed Tool. (http://www.ironspeed.com)

This can help you quickly move the site.
gracesoftAuthor Commented:
We are planning to get this done in 4 months.
Pravin AsarPrincipal Systems EngineerCommented:
Then definitely look at ironspeed
gracesoftAuthor Commented:
Ok. Thank You.
Big MontyWeb Ninja at largeCommented:
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.