다음을 통해 공유


When to Use Remoting

One of the things that happens when a new technology framework is introduced with new patterns and best practices is that people wonder what's going to happen with the frameworks that they use today. When WCF was announced a few years ago, users of Remoting were asking this question a lot. The answer then (I have actual quotes from people) was that the introduction of WCF does not mean that Remoting is dead. A lot of scenarios that were formerly done with Remoting can now be done better with WCF, but Remoting does not go away.

I still see people asking this question, and the answer has not changed. I would not be surprised to see applications continue to come out with support for Remoting, but I would expect that those applications would represent a smaller percentage of the overall market. There are going to be some times when Remoting is actually the preferred choice. Just like we say with ASMX, if you have an existing application that works today with Remoting, then there's no reason that you have to go out and rewrite it. There should be a preference to use WCF in new applications, but there's no reason to do a conversion unless you actually need to make use of the new features.

Remoting also has benefits in some particular scenarios. The fastest standard transport for WCF today is the named pipe transport. Remoting can beat the performance of named pipes if you're communicating between two endpoints within the same process. WCF would be preferable if you want the flexibility to change the scope of the endpoints later or to use a consistent programming model at different scopes, but Remoting is useful if what you care about is performing that scenario as fast as possible.

Next time: SVC Files and Services

Comments

  • Anonymous
    September 25, 2007
    "Remoting can beat the performance of named pipes if you're communicating between two endpoints within the same process." Funny, thanks.

  • Anonymous
    September 25, 2007
    I've configured my web site in IIS with multiple bindings but my web service can no longer run because