This document summarizes remoting in C#, which allows for distributed communication between applications. Remoting uses interfaces to distribute only method declarations across a network. A remoting application requires three components: a class library with the remoting interface, a server application that implements the interface, and a client application that calls methods on the server. The server registers its remoting object, and the client uses channels to connect to and call methods on the remote object hosted by the server.