1

I have a current site written in classic ASP VB and I would like to upgrade it and I have been working heavily in ASP.NET MVC 3.

I would like to find a solution to get a system that works with both CLASSIC and ASP.NET.

Is there a way to develop a new system in MVC and navigate in and out of CLASSIC and back into MVC workflow?

If so, whats the best way to achieve this?

2
  • I really doubt it. ASP classic has been more or less deprecated for years. The language infrastructure is not the same; nothing about ASP classic is comparable. You'd be better off rewriting the ASP site from scratch, unless it is large. Commented Feb 3, 2014 at 22:50
  • Take a look at this; it's not specifically about MVC, but most of the issues are the same: stackoverflow.com/q/5479083/656243 Commented Feb 3, 2014 at 22:55

2 Answers 2

3

Your biggest issue is state. In ASP, chances are you threw a lot of crap into the Session object. ASP.NET (MVC or web forms) and ASP do not share the same session (state), so you end up having to store state somewhere to have it continue to work.

As long as you can get a place to store the state that both ASP and ASP.NET MVC can both consult, you can start migrating the pages piecemeal. If you cannot figure that out, you will have to scrap the ASP after you completely rebuild the site in ASP.NET MVC.

NOTE: I have been leading migrations (ASP >> ASP.NET (both flavors) and VB >> VB.NET). Unless you absolutely have to use a mixed mode, you are better to rebuild and then migrate the site over rather than rely on a mixed site. The worst thing that can happen is somebody stored something stupid in session or application, that you did not envision, and you are now in a place where you are not keeping something important. And you probably find it after a user complains about some transaction they did that did not migrate and now you no longer have any information about it.

NOTE 2: Sometimes clients want to migrate piecemeal and refuse to listen to you stating it is a bad idea. Your option, at this time, is move on to another client (or job) or do it. If "do it" is the option, make sure you have your butt covered, as this is a minefield.

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

Comments

0

Based on my experience, the answer is no.

The problem between ASP and ASP.NET are that their Core are completely different. For example, there is no way to share their Session values because they work completely differently.

The only workaround I could see would be to put the shared information between the two technologies in the database for the other to consume, but that's dirty since that information is only temporary.

If you don't need the identification or any other information shared between the two other than persistent information, you can include an ASP file anywhere is a ASP.NET MVC solution. Visual Studio will try as hard as possible to give you IntelliSense (but it won't work between ASP and ASP.NET modules) and IIS should be able to execute the VB code in the ASP file. When you switch from a technology to another, you include a certain ID in the address.

If it's not your case, the best way at that point is either to keep the project as legacy in a ASP project which may work very well for many years if some standards are well implemented or to switch entirely the project to a ASP.NET project and start from scratch.

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.