ASP.NET Web Forms modernisation
ASP.NET Web Forms was never ported to modern .NET, so a Web Forms application can't be upgraded, only replaced. Solve With Software does that one page at a time: the new ASP.NET Core application runs behind a reverse proxy alongside the old site, sharing login and session, and takes over pages in order of value while Web Forms carries on serving the rest. The data layer and the business logic underneath usually upgrade and are shared by both.
Free · 1 hour · no obligation
Where Web Forms stands
It runs, and it will keep running for as long as .NET Framework does, which is tied to the Windows version it ships with. Nothing is switching it off on a date.
What it can't do is move. There is no Web Forms on modern .NET. New libraries don't target it, new developers haven't learned it, and every year the gap between it and the rest of your systems widens. The server it runs on has a date, too: Windows Server 2016 support ends in January 2027.
So a Web Forms application isn't an emergency. It's a migration that gets more expensive each year it waits.
What we usually find inside
Pages with the logic in the code-behind. A Web Forms application from its era typically has the business rules in the page event handlers, a data layer that may be shared or may be copied into each page, user controls that grew into small applications of their own, and a session that holds far more than it should. Reports, exports and scheduled jobs often hang off the same project.
The valuable part is the rules and the data model, as with any legacy system. The pages themselves are the part that has to be rebuilt, and the point of the staged approach is to rebuild them without stopping the business.
How a page-by-page migration works
- Map the application. The assessment lists every page, control, data access path and integration, and sorts the shared code into what can be upgraded and what has to stay with the old pages.
- Upgrade the shared code first. Business logic and data access move to a library both applications can use, so the rules exist once. Entity Framework 6 usually moves to EF Core here.
- Stand up the new application behind a proxy. An ASP.NET Core site sits in front of the old one, with a reverse proxy passing through any page it doesn't yet own. Microsoft's adapters share authentication and session between the two, so users see one application.
- Move pages in order of value. Each page is rebuilt (Razor Pages, MVC or Blazor, chosen once for the whole application), tested against a copy, run in staging alongside the old page on the same data, checked by the people who use it, then switched. The old page stays reachable until the new one has proven itself.
- Retire Web Forms when the last page that matters has moved.
Each stage has its own fixed price, and each ends with working software.
Razor Pages, MVC or Blazor?
One choice, made once, for the whole application. Razor Pages is the closest in shape to Web Forms (a page, its code behind it) and the easiest for a team that knows Web Forms to read. MVC suits applications that already separate their logic well. Blazor suits screens with a lot of interaction, and can replace controls within a Web Forms page during the migration. The assessment recommends one from what's in your application and how your team works.
Your data
Usually SQL Server, and it stays where it is. Old and new applications share the same database throughout the migration, so there's no data move and no day when two versions of the truth exist. Where the data access layer changes, the new queries are tested on a copy, then in staging against the live schema, before anything connects to live.
What it costs
The assessment is from £395 + VAT, sized on a free one-hour consultation, with an exact price before you commit. For a Web Forms application it counts the pages and controls, sorts the shared code, and prices the proxy setup and the first pages as fixed numbers. What drives the price and the payment terms each have a page.
The risks
The big-bang rewrite, first. A Web Forms replacement built in full before going live is the project that stalls. The proxy approach exists so that every page ships on its own.
The second risk is the server. Windows Server 2016 goes out of support in January 2027, and a Web Forms application on it goes with it. Moving the old site to a supported server is a stage that can happen before, during or instead of the migration, and the assessment says which.
How we approach it
Shared code first, then a proxy, then pages by value. Marc Allington has built on .NET Framework for years and builds on modern .NET now, so both ends of the migration are familiar. Everything we build runs on open, widely used technology, in your own accounts, with full source code and ownership transferring to you on final payment. The wider .NET Framework picture has its own page.
The technical checklist for a Web Forms migration
| Check | Why it matters |
|---|---|
| Page and control count, and which are still used | Sets the size of the migration. Dead pages don't move. |
| Where the business logic lives: code-behind, shared library, stored procedures | Logic in code-behind has to be extracted before the page is rebuilt; logic in a library or the database is shared for free. |
| Data access: EF6, raw ADO.NET, typed datasets | Typed datasets and old ADO.NET are the slowest to modernise and the most worth doing. |
| What's in session, and who reads it | Session sharing between old and new is solved by the adapters, but only for what's serialisable. |
| Authentication: forms auth, Windows auth, something custom | Decides how login is shared across the proxy. |
| Third-party controls and licences | Old commercial grids and report viewers often have no modern equivalent under the same licence. |
| Hosting: IIS on which Windows Server | The server date may set the order of work. |
| Tests, source control, build | Usually thin. The safety net comes before the first page moves. |
Each answer goes into the report with its stage and a fixed price.
Questions
What people ask before they book.
Can't Web Forms just be upgraded to .NET 10?
No. Web Forms doesn't exist on modern .NET, and Microsoft has said it won't. Every Web Forms page has to be rebuilt. The shared code underneath usually can be upgraded, which is why we start there.
Will users see two different applications during the migration?
No. A reverse proxy sits in front of both, and Microsoft's adapters share login and session, so it looks and behaves like one application. Users notice a page getting faster, not a page changing sites.
Our Web Forms application is in VB.NET. Does that matter?
The pages have to be rebuilt either way, and the rebuilt pages are usually in C#. The shared VB.NET libraries can often be upgraded as they are.
How long does a Web Forms migration take?
It depends on the page count and how much logic is in the code-behind, which the assessment measures. The shape is the usual one: shared code and the proxy first, the first pages live within about six weeks, then pages in order of value, each priced before you commit.
Can we stop partway through?
Yes. The proxy arrangement is stable for as long as you like. Some applications run half-migrated for years by choice, with the pages that matter modernised and the rest left alone.
Start with a free consultation
An hour on your system, online or by phone. From there we size the assessment, from £395 + VAT, and give you an exact price before you commit.
Want the numbers first? See how pricing works.
Written by Marc Allington, founder. .