WCF to gRPC
At the //BUILD 2019 conference, Microsoft announced that after .NET Core 3.0 the path forward for .NET Framework and .NET Core would be together - and the next major release would be called .NET 5. But .NET 5 will be the evolution of .NET Core, not .NET Framework.
Windows Communication Foundation (WCF) is one part of the .NET Framework that is not being ported to .NET Core and won’t be available in .NET 5. Even if it was ported to .NET Core, would it be the right answer for your team?
WCF was originally released as part of .NET Framework 3.0 at the end of 2006. The world of distributed systems was very different then: JSON was barely a thing, and Remote Procedure Calls (RPC) using XML-serialized SOAP messages was the prevailing standard for Service Oriented Architectures. The term “microservices” would not be coined for another five years. And technology moves forward ever-faster, so in the years since WCF was conceived, people have come up with better solutions to the problems it sought to solve.
Where does that leave you and many others that have a deep investment in WCF for building your critical applications?
ReCode from WCF to gRPC
One of the alternatives recommended by Microsoft for organizations looking for a migration path away from WCF on .NET Framework is gRPC: a low-overhead, high-performance, cross-platform RPC framework. The ASP.NET Core team has built first-class support for gRPC into ASP.NET Core 3.0.
Visual ReCode can upgrade and rewrite your existing WCF application code to take advantage of gRPC
automatically, creating a new ASP.NET Core 3.0 gRPC Service project to match your existing project,
.proto file from WCF
DataContract types, and converting
ServiceContract implementations to gRPC service implementations.
Of course, there’s more to your applciation than just its service contracts - so ReCode will find and copy dependencies from WCF project(s) to a new .NET Core native project structure for you.
Fast, Native Implementation
Visual ReCode works by moving your source code from a .NET Framework project to a new .NET Core project and rewriting it to work natively with the ASP.NET Core implementation of gRPC. It doesn’t add any proprietary third party libraries - instead it creates the same code you would make yourself if you were starting from scratch today.
Once you’ve ReCoded your application you don’t need Visual ReCode around to compile it, modify it, or deploy - because everything’s using the native .NET Core implementations, just like a clean sheet implementation.
See It In Action
To see a concrete example of how the WCF to gRPC conversion works and how it performs see WCF vs. gRPC.