.Net Remoting versus WCF

2020-05-15 15:06发布

问题:

I am wondering that I can do same thing from both .net remoting and WCF, then why WCF is more preferred over .Net remoting. Where can I choose (or in which situation) .Net remoting or WCF?

回答1:

.NET Remoting applications can use the HTTP, TCP, and SMTP protocols whereas WCF can use named pipes and MSMQ as well along with all these protocols.

You may find the best answer here: From .NET Remoting to the Windows Communication Foundation

Conclusion

As you have seen, a migration from .NET Remoting to WCF is not a task you have to be afraid of. For most applications, a simple three-step process can bring your application to the new platform. In most cases, you will only have to mark your interface contracts with [ServiceContract] and [OperationContract], your data structures with [DataContract] and [DataMember] and maybe change some parts of your activation model to be based on sessions instead of client-activated objects.

If you decide that you want to take advantage of the features of the Windows Communication Foundation, the complete migration from .NET Remoting to WCF should therefore be a rather easy task for the majority of applications.

You may also find the performance difference between the two in A Performance Comparison of Windows Communication Foundation (WCF) with Existing Distributed Communication Technologies

When migrating distributed applications written with ASP.NET Web Services, WSE, .NET Enterprise Services and .NET Remoting to WCF, the performance is at least comparable to the other existing Microsoft distributed communication technologies. In most cases, the performance is significantly better for WCF over the other existing technologies. Another important characteristic of WCF is that the throughput performance is inherently scalable from a uni processor to quad processor.

To summarize the results, WCF is 25%—50% faster than ASP.NET Web Services, and approximately 25% faster than .NET Remoting. Comparison with .NET Enterprise Service is load dependant, as in one case WCF is nearly 100% faster but in another scenario it is nearly 25% slower. For WSE 2.0/3.0 implementations, migrating them to WCF will obviously provide the most significant performance gains of almost 4x.



回答2:

WCF (Windows Communication Foundation), which has code-named Indigo, is a technology by which pieces of software can communicate with one another.

Windows Communication Foundation consists of several new sets of classes added to the second version, the 2.0 version, of the Microsoft .NET Framework Class Library.

It gives the feature of Web services as well as .Net Remoting. Looking into core - Windows Communication Foundation provides a software factory template for software communication, consisting of a modeling language called the Service Model, and a programming framework called the Channel Layer. One can configure the endpoints defined by an address, a binding, and a contract just by using configuration file.

source is WCF