Modernizing Legacy ASP.NET WebForms to ASP.NET Core by Asif HameedModernizing Legacy ASP.NET WebForms to ASP.NET Core by Asif Hameed

Modernizing Legacy ASP.NET WebForms to ASP.NET Core

Asif Hameed

Asif Hameed

The situation

The client ran their core operations on an ASP.NET WebForms app that had grown for years. It still worked, but nobody wanted to change it. Business logic lived inside code-behind files, ViewState made pages heavy, and every deployment was a manual copy to a single on-prem server. Every small change felt risky because no one knew what else would break.
They had already been quoted a full rewrite. I pushed back on that. A big-bang rewrite freezes the business for months and usually ships with the same bugs in a new framework.

The approach

We modernized in slices, so the old system kept running while the new one grew around it.
Mapped the system first: which pages carried real business value, which were dead weight, and where the risky logic was hiding.
Pulled business rules out of the .aspx.cs files into a clean C# service layer, with tests around the parts that handled money and customer data.
Exposed that layer through ASP.NET Core APIs, so new screens could be built without touching the legacy UI.
Moved modules over one at a time, highest value first, and retired the old pages as each replacement proved itself.
Replaced manual deploys with a CI/CD pipeline and made the app cloud-ready, so releases stopped being events.

The result

The business never had to stop. The team now works in a codebase they understand, changes go out through a pipeline instead of a late-night FTP session, and new features are planned around what the business needs rather than what the old code allows. The platform went from a liability everyone tiptoed around to something they can build on.

What I'd tell any CTO sitting on a legacy .NET app

You probably don't need a rewrite. You need a plan that lets the old system keep paying the bills while you replace it piece by piece. That is the pattern I trust.
Stack: C#, ASP.NET WebForms, ASP.NET Core, Web API, SQL Server, CI/CD
Like this project

Posted Sep 28, 2026

A WebForms app the team was afraid to touch, moved to ASP.NET Core piece by piece. Clean APIs, logic out of the UI, CI/CD. No big-bang rewrite.