This documentation is archived and is not being maintained.

System.Runtime.Remoting.Messaging Namespace

The System.Runtime.Remoting.Messaging namespace contains classes used to create and transmit messages. The remoting infrastructure uses messages to communicate with remote objects. Messages are used to transmit remote method calls, to activate remote objects, and to communicate information. A message object carries a set of named properties, including action identifiers, envoy information, and parameters. Some of the most important classes of the System.Runtime.Remoting.Messaging namespace are the AsyncResult class, the RemotingSurrogateSelector class, and the ReturnMessage class.

The AsyncResult class stores and returns the results of an asynchronous method call. AsyncResult instances contain the return value, call status, the delegate used for the call, and the other information about the asynchronous method call.

The RemotingSurrogateSelector class can be used to control serialization of objects that extend MarshalByRefObject. A RemotingSurrogateSelector selects the surrogate used in serialization and deserialization of such objects. A surrogate is an object that can control serialization or deserialization of an object.

The ReturnMessage class holds information returned after a remote method call. A ReturnMessage holds the return value and any out or ref parameters that resulted from the remote method call.

Namespace hierarchy


Class Description
AsyncResult Encapsulates the results of an asynchronous operation on an asynchronous delegate.
CallContext Provides a set of properties that are carried with the execution code path. This class cannot be inherited.
Header Defines the out-of-band data for a call.
LogicalCallContext Provides a set of properties that are carried with the execution code path during remote method calls.
OneWayAttribute Marks a method as one way, without a return value and out or ref parameters.
RemotingSurrogateSelector Selects the remoting surrogate that can be used to serialize an object that derives from a MarshalByRefObject.
ReturnMessage Holds a message returned in response to a method call on a remote object.


Interface Description
ILogicalThreadAffinative Marks an object that can propagate outside of an AppDomain in a LogicalCallContext.
IMessage Contains communication data sent between cooperating message sinks.
IMessageCtrl Provides a way to control asynchronous messages after they have dispatched using the IMessageSink.AsyncProcessMessage.
IMessageSink Defines the interface for a message sink.
IMethodCallMessage Defines the method call message interface.
IMethodMessage Defines the method message interface.
IMethodReturnMessage Defines the method call return message interface.
IRemotingFormatter Provides the remote procedure call (RPC) interface for all formatters.


Delegate Description
HeaderHandler Represents the method that will handle processing of headers on the stream during deserialization.

See Also

.NET Framework Class Library