Context Properties and Marshaling

When a server marshals a COM+ object running in a context, the server returns an OBJREF_EXTENDED instance ([MS-DCOM] section Within an OBJREF_EXTENDED instance, the server can include a representation of its context called an envoy context, consisting of envoy context properties. During unmarshaling, a client can use the envoy context properties to configure and influence future client-side behaviors, either in general or specifically with respect to future communication with the unmarshaled reference.

For example, a marshaled transactional COM+ server object returns a transactional envoy context property in an ORPC call, thereby allowing the client to determine whether the client and the server share the same transaction. If they do not, the client can ignore the transactional envoy context property. If they share the same transaction, the client can send extra information on subsequent ORPC calls to the server, for example, to denote the current transaction sequence number, or to send a new transaction if the previous transaction has ended.