The CallContext
API has LogicalGetData
& GetData
, but the MSDN Documentation doesn\'t do much to explain the difference between the tw
It appears that this is a subtle difference related to method calls made remotely to another AppDomain. In this instance a LogicalCallContext
is created and the data is stored in a manner accessible to LogicalGetData
. While in normal, non-remoted method calls the data is stored in a manner accessible to GetData
.
When a remote method call is made to an object in another AppDomain, the CallContext class generates a LogicalCallContext instance that travels along with the remote call. Only objects that expose the ILogicalThreadAffinative interface and are stored in the CallContext are propagated outside the AppDomain in a LogicalCallContext. Objects that do not support this interface are not transmitted in LogicalCallContext instances with remote method calls.
GetData
:
Retrieves an object with the specified name from the
CallContext
.
LogicalGetData
:
Retrieves an object with the specified name from the logical call context.