LogicalCallContext LogicalCallContext LogicalCallContext LogicalCallContext Class


Provides a set of properties that are carried with the execution code path during remote method calls.

public ref class LogicalCallContext sealed : ICloneable, System::Runtime::Serialization::ISerializable
public sealed class LogicalCallContext : ICloneable, System.Runtime.Serialization.ISerializable
type LogicalCallContext = class
    interface ISerializable
    interface ICloneable
Public NotInheritable Class LogicalCallContext
Implements ICloneable, ISerializable


The LogicalCallContext class is a version of the CallContext class that is used during method calls to remote application domains. The CallContext is a specialized collection object similar to a thread local storage for method calls, and provides data slots that are unique to each logical thread of execution. The slots are not shared across call contexts on other logical threads. Objects can be added to the CallContext as it travels down and up the execution code path, and examined by various objects along the path.

When a remote method call is made to an object in another AppDomain, the CallContext class generates a LogicalCallContext 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.


This class makes a link demand. A SecurityException is thrown if the immediate caller does not have infrastructure permission. See Link Demands for more information.


HasInfo HasInfo HasInfo HasInfo

Gets a value indicating whether the current LogicalCallContext contains information.


Clone() Clone() Clone() Clone()

Creates a new object that is a copy of the current instance.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
FreeNamedDataSlot(String) FreeNamedDataSlot(String) FreeNamedDataSlot(String) FreeNamedDataSlot(String)

Empties a data slot with the specified name.

GetData(String) GetData(String) GetData(String) GetData(String)

Retrieves an object associated with the specified name from the current instance.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

Populates a specified SerializationInfo with the data needed to serialize the current LogicalCallContext.

GetType() GetType() GetType() GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
SetData(String, Object) SetData(String, Object) SetData(String, Object) SetData(String, Object)

Stores the specified object in the current instance, and associates it with the specified name.

ToString() ToString() ToString() ToString()

Returns a string that represents the current object.

(Inherited from Object)


for operating with infrastructure code. Demand value: LinkDemand; Permission Value: Infrastructure

Applies to