i was employed by a company 5 years ago. the company still uses .NET 4.5 with WCF. .NET 4.5 is obsolete while .NET core exist. i tried many times suggesting an upgrade to .NET core, but our CTO refuse under the excuse that we need the WCF due to our servers configuration. now our servers configuration: we have a load balancer to multiple servers hosting our web applications and the corresponding webservice(asmx), and these servers are then connected to another load balancer for multiple servers hosting the WCF and the database.
I feel we are still stuck in 2005 with our projects getting bigger by the day.
Now, I want to build a strong case why we should upgrade our technologies and present it to the CEO.
if someone can point me into the correct direction with what should be the replacement for WCF in 2021 that will work with how the servers are configured.
thank you for your time
CodePudding user response:
There is an opensource project looking to port WCF to .NET Core(and .NET 5 ) -> https://github.com/CoreWCF/CoreWCF.
This is should be backwardly compatible, but it is still alpha/beta atm. But its a start.
As an alternative to WCF entirely gRPC is a good place to start -> https://docs.microsoft.com/en-us/aspnet/core/grpc/?view=aspnetcore-5.0
CodePudding user response:
While there is no detailed description of the services running on your servers, what should be a replacement is dependent on the kind of services deployed on the servers. (Basic http request, Message queues, duplex bindings for 2 way communications etc.). WFC supports different communication format in terms of binding configurations (See different binding format here).
Use of Open API/Restful APIs should handle a larger portions of your existing WCF endpoints. However, gRPC is the new guy in town that supports Point-to-point real-time streaming services. Depending on the types of services hosted on your servers, WebSocket which features bi-directional, full-duplex communication over a persistent TCP connection could be combine with Web API if gRPC is new to your team. See more reference here.