Not sure which migration path is optimal for your Web Forms pages?
We can assess its size, interactivity, and backend to help you pick the right one.
Published: 21 May, 2026 · 9 mins read
ASP.NET Web Forms doesn’t have a direct equivalent in the .NET Core ecosystem. So, you’ll have to migrate to Blazor, Razor Pages, or JavaScript frameworks. Read our guide to discover how to replace ASP.NET Web Forms with zero downtime and speed up modernization with AI-assisted tools.
If your company was around when ASP.NET Web Forms was cutting-edge, your systems are probably still running on it. After all, years of custom business logic are a substantial asset, even without test coverage or documentation. ASP.NET Web Forms migration can break that logic, cause downtime, and incur higher-than-expected costs.
As our experience with technology modernization can attest, however, there’s a cost to staying with Web Forms.
For one, Web Forms runs only on the legacy .NET Framework. It’s effectively in maintenance mode, as we mentioned in our .NET Framework migration guide. That means no feature updates, only reliability and security patches. Forget about modern libraries, tools, and cloud-native deployment, too.
Unfortunately, Web Forms are notoriously difficult to migrate. Tools like the official .NET Upgrade Assistant can’t directly port them to .NET Core.
Read on to discover:
ASP.NET Web Forms is the technology that generates the HTML code for your app’s user interface on the server. This back-and-forth tightly couples backend and frontend but allows developers to manage UI elements using C# backend code.
Legacy Web Forms modernization can remove the need for this back-and-forth and eliminate the hidden costs of relying on .NET Framework. Yet, it’s harder than your typical .NET Framework migration. Here’s why:
Since there’s no direct equivalent for ASP.NET Web Forms in .NET Core, you have to replace it with an alternative. You can choose from three options: Blazor, Razor Pages, and JavaScript frameworks (React, Angular, Vue).
Blazor is Microsoft’s frontend web framework that runs on HTML, CSS, and C#, and Microsoft actively promotes Blazor as the default path for Web Forms.
Pros:
Cons:
Good for:
Razor Pages is essentially the equivalent of Server Pages in .NET Core. It’s a server-side, page-focused framework that generates HTML pages on the server side.
Pros:
Cons:
Good for:
React, Angular, and Vue are three modern JavaScript frameworks for building web applications. Turning to JavaScript means rebuilding the frontend and connecting it to the backend via .NET Core APIs.
Pros:
Cons:
Good for:
So, should you migrate Web Forms to Razor Pages, Blazor, or a JavaScript framework? Here’s a comparison table to guide you through the main decision-making considerations:
| Blazor | Razor Pages | React, Angular, Vue | |
|---|---|---|---|
| UI interactivity | Medium/High | Low | High |
| Required skill set | C#, .NET | C#, .NET | JavaScript/TypeScript |
| Backend rearchitecturing | Mostly remains the same | Mostly remains the same | Taking place in parallel |
| App size | Small/Medium | Large (incremental migration is best) | Medium/Large |
We can assess its size, interactivity, and backend to help you pick the right one.
A big bang replacement is rarely a good idea due to the risks involved. So, Microsoft recommends incremental migration using the Strangler Fig pattern and YARP, a .NET library that provides core proxy functionality. This approach allows applications to stay live during modernization and avoid compatibility issues.
Before you can replace ASP.NET Web Forms, you need to know what you’re dealing with. To that end, map all Web Forms pages and their code-behind dependencies. Pay close attention to each page’s:
It’s probably taken you years to create business logic that handles edge cases and perfectly matches your operational workflows. So, razing it and rebuilding core functionality from scratch is a no-go.
Good news: you can isolate that logic from the legacy UI with minimal rewriting. To that end, developers create a shared library with zero System.Web references, while keeping refactoring mostly stylistic.
As a migration approach, decoupling business logic has several undeniable benefits:
The Strangler Fig pattern and YARP are the key to zero Web Forms migration downtime.
The Strangler Fig pattern is a technique for gradually replacing parts of the legacy system with new ones, with a facade (proxy) routing user requests to either new or legacy components. Users remain none the wiser to the migration.
YARP, in turn, is a .NET library that enables core proxy functionality. It’s the technical “how” of implementing the Strangler Fig pattern, built for this very scenario.
Incremental migration reduces risk and ensures zero downtime. But which pages should you start with?
At Exoft, we prioritize high-traffic but lower-risk pages. Here’s what incremental Web Forms migration looks like in practice:
But be warned: No amount of testing, no matter how thorough, can reveal all the issues that may appear in production. That’s why it’s important to validate pages under real traffic before decommissioning their legacy versions.
Gradually, the old frontend will become obsolete as each Web Forms page is validated and replaced. Once all pages are modernized, you can decommission the legacy Web Forms frontend as it no longer serves any purpose.
Unlike a big-bang migration, you don’t have to bite your nails as developers change everything at once. With incremental migration, the legacy system stays live, and the risk associated with every change is spread out, making it more manageable to address.
Web Forms migration used to be exorbitantly expensive. Developers had to spend hours upon hours analyzing the undocumented modules and unraveling dependencies before they could even get to refactoring code.
But that’s in the past. Today, thanks to AI, developers can complete the same legacy modernization scope in half the time.
AI tools make migration more economically and operationally viable by:
«Thanks to AI in general and Claude in particular, we can do our jobs faster. For example, virtually any modernization project involves undocumented modules written a lifetime ago, and no one can tell us how they work or why they’re needed. AI can summarize that code and even suggest how to change it safely — all in a fraction of the time.»
At Exoft, we’re no strangers to accelerating migration with AI-assisted tools. In legacy .NET modernization, we use AI (including Copilot’s Modernization agents) for:
Critical software like banking apps, healthcare portals, and ERP systems can’t afford downtime. So, if that’s the reason you’ve been putting off Web Forms migration, remember: you don’t have to replace the frontend all at once.
For example, a global fintech company turned to Exoft torn between this very concern and the pressing need to modernize its core platform. So, as we gradually migrated its Web Forms frontend to Angular, the company’s banking operations remained live across multiple European markets.
The result? Zero downtime, zero disruption, and 20+ microservices modernized.
That is to say: you can replace Web Forms without tearing down years of business logic. All you have to do is opt for incremental migration with minimal refactoring.
Absolutely, and it’s best to do it incrementally. You can replace Web Forms pages one by one while running the old and new frontends in parallel as one system.
That depends on the nature of your Web Forms pages. Razor Pages are more suitable for large apps with low UI interactivity. Blazor is better for smaller or medium-sized apps with more interactive pages.
Not necessarily. However, if you’re planning to move to .NET Core, Web Forms migration becomes mandatory since Web Forms can’t run on .NET Core.
The answer depends on the app size, migration path, and amount of refactoring needed. We can estimate the time needed for your specific application; just drop us a line.
Project delays and budget overruns are the bane of all migration and modernization projects, and Web Forms is no exception. A thorough page and dependency audit and AI-accelerated migration can help prevent them.