Tech Pixels

WebForms migration

Move your WebForms app to modern .NET, one page at a time.

WebForms has no upgrade path to .NET 8 or .NET 10, but that doesn't mean a big-bang rewrite. We run a new ASP.NET Core app alongside the old one and move pages across in small releases, while the product stays live.

How a page-by-page migration works

  1. 1

    Put a new app in front

    A new ASP.NET Core app takes every request and passes anything it doesn't handle yet straight to the WebForms app. Users see one site.

  2. 2

    Move pages across in order

    Pages are rebuilt one area at a time, most valuable or most painful first. Sign-in and session are shared, so users never notice which app served a page.

  3. 3

    Switch the old app off

    When the last page has moved, the WebForms app and its Windows-only hosting can go.

This is the incremental approach Microsoft recommends for moving from ASP.NET to ASP.NET Core.

What makes WebForms hard to move

These are what decide the cost, and what the assessment measures in your code.

ViewState and postbacks
Modern .NET has no page lifecycle, so every screen that relies on postbacks and ViewState has to be rebuilt, not converted.
Third-party control suites
Grids, schedulers and report viewers from older control libraries need a modern equivalent, and they're often the biggest single cost.
Logic in code-behind
Business rules buried in page events have to be pulled out into services first, so both apps can use them during the move.
Sign-in and session
Forms authentication, Membership and Session state have to be shared between the old and new apps while both are live.
Framework-only libraries
Some packages and in-house DLLs only run on .NET Framework. Each needs a modern version, a replacement or a wrapper.
Windows-only hosting
WebForms runs only on IIS and Windows Server. The new app can run on Azure, Linux or the same servers.

Where the pages go

Most migrations use more than one. The plan says which fits each part of your app.

Razor Pages

The closest match to WebForms: one page, one file of code. Good for forms, admin screens and content pages.

Blazor

Components and events that feel familiar to WebForms developers, for interactive screens such as grids and dashboards.

An API with Angular

A separate front end when you also want a public API, a mobile app or a modern single-page experience.

Start with a costed plan

Ten working days, fixed price. You get a written plan you can take to any .NET team.

£1,950 + VATIntroductory price for our first three assessments (£2,340 inc. VAT at 20%). Normally £2,950 + VAT.

  • Every page, control and dependency, and how hard each is to move
  • Which target fits each area: Razor Pages, Blazor or an API
  • How sign-in, session and hosting work while both apps run
  • The order of work, with effort and cost for each phase

Migrations we've led

Platforms we've moved off ageing frameworks while they stayed live.

Healthcare. Service lines: Modernise

Online prescriptions platform

A live web application for doctor-authorised prescription delivery, running on an ageing framework that was getting harder to support.

  • Moved the application onto a modern, supported platform incrementally, while the production system kept running
  • Extended the web application and its APIs alongside the in-house team
  • Built the backend for a new mobile app, with secure queue-based messaging
  • Led the cross-platform mobile app, with clean architecture, test-driven development and CI/CD

The platform moved to a supported stack without a big-bang cut-over, and the mobile app went live on the App Store and Google Play.

Agri-tech IoT. Service lines: ModerniseScale

Sensor data platform

An ageing platform on legacy cloud hosting, storing sensor telemetry and operational data in the same database.

  • Led the move to a modern back end and front end, delivered incrementally against the live system
  • Moved hosting onto modern managed cloud services
  • Separated operational and telemetry data, moving logging workloads out of the main database into scalable stores
  • Redesigned data ingestion, storage and retention to reduce cloud costs
  • Built central sign-in and background processing on a message queue

Less contention on the main database, better throughput, lower cloud spend, and a codebase on a supported platform.

Questions

Can WebForms run on .NET 8 or .NET 10?
No. WebForms is built on System.Web, which is part of .NET Framework only and was never brought to modern .NET. Pages have to be rebuilt in Razor Pages, MVC or Blazor to move forward.
Is WebForms still supported?
WebForms on .NET Framework 4.8 and 4.8.1 still gets security fixes as part of Windows, but no new features, and fewer developers want to work on it every year. Version 4.6.2 loses support on 12 January 2027.
Do we have to rewrite everything at once?
No. With the old and new apps running side by side, pages move across a few at a time and every release is small. You can pause between phases and keep shipping features.
How long does a migration take?
It depends on the number of pages, the controls they use and how much logic sits in code-behind. The assessment counts all of that and gives you the effort and cost of each phase.
We also have MVC 5 or WCF services. Is that covered?
Yes. MVC 5 usually moves to ASP.NET Core MVC with less rework than WebForms, and WCF services can move to ASP.NET Core APIs, gRPC or CoreWCF. The assessment plans them together.
What access do you need?
Read-only access to the source code and a call with whoever knows the system best. We don't need production access or customer data for the assessment.

How big is your WebForms app?

Tell us roughly how many pages it has and what it does. On a free 30-minute call we'll tell you what a migration involves.