Taming .NET Framework legacy WebApi
summary
A legacy .NET Framework WebApi is incrementally converted to multi-target projects (net461 + netcoreapp3.1) using a csproj migration tool and the .NET Portability Analyzer, achieving about 2x throughput on Linux without halting feature work. A small shim exposes static HttpContext via IHttpContextAccessor so old libraries keep working, SOAP endpoints run on SoapCore, and thread‑pool starvation from sync-over-async is solved with the ConcurrencyLimiter middleware. Build and run are containerized via a two‑stage Alpine Dockerfile; the sample repo and clean scripts demonstrate the full pipeline and that the converted services work.
AI-written summary · about
chapters (12)
- 0:00Introduction and speaker background
- 1:51Why refactor .NET Framework APIs
- 4:00Challenges in legacy code conversion
- 5:23Essential conversion tools
- 7:07Key code conversion tips
- 13:06Live code conversion demo
- 23:11Splitting projects for compatibility
- 31:28Adding logging and trace IDs
- 33:11Converting SOAP services
- 37:30Dockerizing the applications
- 39:00Handling thread pool starvation
- 40:48Q&A and resources
related talks
46mTales from the NET 8 Migration Trenches
48mEngineer tested, manager approved: Migrating Windows/.NET services to Linux
58mMinimal APIs in ASP NET 6 0
46mWhat do I do with my old .NET Framework Apps?
01h 03mASP.NET Core 1: What has changed for MVC and Web API developers?
01h 02mIs your code ready for .NET Core?
58mUpgrade any .NET applications with the latest .NET stack.
33mMigrating .NET and .NET Core to Pivotal Cloud Foundry
