Classic ASP / .NET WebForms

ASP and WebForms modernization, onto a stack with a future.

A generation of intranet and line-of-business applications was built on Classic ASP and ASP.NET Web Forms. They still work, and they are tied to a framework that modern .NET left behind. We model the real source and generate a modern web application from it.

Who this is for

An internal web application nobody has touched in years.

This is for teams holding Classic ASP or Web Forms applications that are too useful to retire and too awkward to extend.

  • An intranet or line-of-business web application in daily use across the company.
  • Classic ASP, ASP.NET Web Forms, or the two mixed together after a half-finished migration.
  • Logic spread through code-behind files, inline script and stored procedures.
  • A .NET team that works in modern .NET everywhere else and avoids this codebase.
Why now

Why ASP and Web Forms, specifically.

This one does have a genuine technical dead end, and it is worth being precise about where it is.

Web Forms did not come to modern .NET

ASP.NET Web Forms runs on .NET Framework. Microsoft did not carry it forward to .NET Core or any later version, so there is no in-place upgrade onto the platform where the tooling, the performance work and the ecosystem now live. The framework is supported on Windows; it is not going anywhere new.

Classic ASP is a component, not a product

Classic ASP still executes on IIS as a Windows component, which is why these applications have survived so long. Nothing about it has been developed in two decades, and VBScript knowledge is now genuinely rare.

The postback model fights everything modern

ViewState, postbacks and server-side control trees were designed before single-page applications and APIs. Every current requirement, from responsive layout to a mobile client to a clean integration point, is harder than it should be.

It is the codebase the team avoids

When every other system in the company is on modern .NET, the Web Forms application stops getting attention. Dependencies drift, security review gets uncomfortable, and the gap between this and everything else widens each year.

Your options

Four ways to deal with an ASP or Web Forms application.

The size of the application and how much logic sits in code-behind decide most of it.

  1. Stay on .NET Framework

    Supported on Windows, so the application keeps running. It is also a decision to stop moving.

  2. Port to Blazor or MVC

    A natural direction for a .NET team. On a large Web Forms application, the control model has to be unpicked page by page.

  3. Rebuild as a web app

    Right when the process is changing. Highest effort, and you take on rebuilding the business logic.

  4. Automated conversion

    Read the real source, including the code-behind, and generate a modern equivalent. Usually the lowest-risk route on a large application.

How we do it

Read it, model it, generate from the model.

A hand rewrite works your business rules out again from documentation and memory, which is where undocumented behavior gets lost. We carry them across from the real source instead.

01

Map the whole codebase

Code Analyzer reads every line of the Classic ASP and .NET WebForms source: every page, code-behind file, user control, include and stored procedure it calls, along with the data access and the business rules buried inside them. From that we build a model of how the application actually behaves. Gaps are surfaced, not guessed.

02

Generate from the model

Code Transformer maps the model onto a modern architecture and generates a modern web application, 90%+ automated. Generating from the model gives you an application built the way someone would build it today, instead of old workarounds in a new language. Our engineers handle the custom pieces no automated conversion can reach, with AI assistance, and check the result against your original system.

03

Prove it matches

Side-by-side testing runs the new system and the old one on the same inputs and compares what comes out. The business rules held in the model give a second, separate check that does not rely on the tests alone. Automated test coverage is built alongside the transformation.

What you get

An application the rest of your team will work on.

Standard, conventional code

TypeScript and React by default, or Vue and similar frameworks where your standards call for it. Readable by any web developer you hire.

On a runtime that still gets worked on

The result runs on current, supported runtimes rather than on a framework that modern .NET left behind. Your platform choices open back up.

An interface and an API, separated

The postback and ViewState model is replaced by a clear split between the interface and the business logic, so other systems can integrate with it properly instead of scraping pages.

Code your team owns

You can host it, maintain it, and extend it yourselves, with no dependency on us to keep it running.

A track record across major enterprises

Classic ASP / .NET WebForms

Common questions.

Is ASP.NET Web Forms still supported?

Web Forms is part of .NET Framework, which is supported on Windows. It was not carried forward to .NET Core or later versions, so there is no upgrade path onto modern .NET. The application can keep running; it cannot follow the platform.

Is Classic ASP still supported?

Classic ASP still runs on IIS as a Windows component, so these applications continue to work. It has had no meaningful development in about two decades, and finding people who can safely change VBScript is the practical problem.

Should we move to Blazor instead?

For a .NET team it is a sensible direction, particularly on a smaller application. On a large Web Forms codebase the work is in unpicking the control model and the code-behind page by page, which is exactly the part conversion automates.

Our application is part Classic ASP and part Web Forms. Does that matter?

No, and it is common, usually the residue of a migration that stopped halfway. Both are read into the same model, which also shows you where the two halves actually depend on each other.

How do we know the new application behaves like the old one?

Business rules move across through a model built from your real code, rather than being re-typed by hand. We then check the result two ways: side-by-side testing on the same inputs, and the business rules held in the model as a separate check.

Where does this kind of project start?

Usually with the free assessment: a complete dependency map, risk scoring, an effort model and a costed migration plan, produced from your own source code.

Find out what is in your ASP or Web Forms application, and what it will take to move it.

The assessment is free and built from your own source code. If you would rather see output first, we can run a paid proof of concept on a representative slice of the application.