Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
276 lines (266 sloc) 18.8 KB
<Type Name="LogicalCallContext" FullName="System.Runtime.Remoting.Messaging.LogicalCallContext">
<TypeSignature Language="C#" Value="public sealed class LogicalCallContext : ICloneable, System.Runtime.Serialization.ISerializable" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi serializable sealed beforefieldinit LogicalCallContext extends System.Object implements class System.ICloneable, class System.Runtime.Serialization.ISerializable" />
<TypeSignature Language="DocId" Value="T:System.Runtime.Remoting.Messaging.LogicalCallContext" />
<TypeSignature Language="VB.NET" Value="Public NotInheritable Class LogicalCallContext&#xA;Implements ICloneable, ISerializable" />
<TypeSignature Language="C++ CLI" Value="public ref class LogicalCallContext sealed : ICloneable, System::Runtime::Serialization::ISerializable" />
<TypeSignature Language="F#" Value="type LogicalCallContext = class&#xA; interface ISerializable&#xA; interface ICloneable" />
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces>
<Interface>
<InterfaceName>System.ICloneable</InterfaceName>
</Interface>
<Interface>
<InterfaceName>System.Runtime.Serialization.ISerializable</InterfaceName>
</Interface>
</Interfaces>
<Attributes>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;xamarinandroid-7.1;xamarinios-10.8;xamarinmac-3.0;netframework-4.8">
<AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;xamarinandroid-7.1;xamarinios-10.8;xamarinmac-3.0;netframework-4.8">
<AttributeName>System.Security.SecurityCritical</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.Serializable</AttributeName>
</Attribute>
</Attributes>
<Docs>
<summary>Provides a set of properties that are carried with the execution code path during remote method calls.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Runtime.Remoting.Messaging.LogicalCallContext> class is a version of the <xref:System.Runtime.Remoting.Messaging.CallContext> class that is used during method calls to remote application domains. The <xref:System.Runtime.Remoting.Messaging.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 <xref:System.Runtime.Remoting.Messaging.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 <xref:System.AppDomain>, the <xref:System.Runtime.Remoting.Messaging.CallContext> class generates a <xref:System.Runtime.Remoting.Messaging.LogicalCallContext> that travels along with the remote call. Only objects that expose the <xref:System.Runtime.Remoting.Messaging.ILogicalThreadAffinative> interface and are stored in the <xref:System.Runtime.Remoting.Messaging.CallContext> are propagated outside the <xref:System.AppDomain> in a <xref:System.Runtime.Remoting.Messaging.LogicalCallContext>. Objects that do not support this interface are not transmitted in <xref:System.Runtime.Remoting.Messaging.LogicalCallContext> instances with remote method calls.
> [!NOTE]
> This class makes a link demand. A SecurityException is thrown if the immediate caller does not have infrastructure permission. See [Link Demands](~/docs/framework/misc/link-demands.md) for more information.
]]></format>
</remarks>
<permission cref="T:System.Security.Permissions.SecurityPermission">for operating with infrastructure code. Demand value: <see cref="F:System.Security.Permissions.SecurityAction.LinkDemand" />; Permission Value: <see cref="F:System.Security.Permissions.SecurityPermissionFlag.Infrastructure" /></permission>
</Docs>
<Members>
<Member MemberName="Clone">
<MemberSignature Language="C#" Value="public object Clone ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance object Clone() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Runtime.Remoting.Messaging.LogicalCallContext.Clone" />
<MemberSignature Language="VB.NET" Value="Public Function Clone () As Object" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual System::Object ^ Clone();" />
<MemberSignature Language="F#" Value="abstract member Clone : unit -&gt; obj&#xA;override this.Clone : unit -&gt; obj" Usage="logicalCallContext.Clone " />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:System.ICloneable.Clone</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;xamarinandroid-7.1;xamarinios-10.8;xamarinmac-3.0;netframework-4.8">
<AttributeName>System.Security.SecuritySafeCritical</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Object</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Creates a new object that is a copy of the current instance.</summary>
<returns>A new object that is a copy of this instance.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Runtime.Remoting.Messaging.LogicalCallContext.Clone%2A> method produces a deep copy of the current <xref:System.Runtime.Remoting.Messaging.LogicalCallContext>.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="FreeNamedDataSlot">
<MemberSignature Language="C#" Value="public void FreeNamedDataSlot (string name);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance void FreeNamedDataSlot(string name) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Runtime.Remoting.Messaging.LogicalCallContext.FreeNamedDataSlot(System.String)" />
<MemberSignature Language="VB.NET" Value="Public Sub FreeNamedDataSlot (name As String)" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; void FreeNamedDataSlot(System::String ^ name);" />
<MemberSignature Language="F#" Value="member this.FreeNamedDataSlot : string -&gt; unit" Usage="logicalCallContext.FreeNamedDataSlot name" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;xamarinandroid-7.1;xamarinios-10.8;xamarinmac-3.0;netframework-4.8">
<AttributeName>System.Security.SecurityCritical</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="name" Type="System.String" />
</Parameters>
<Docs>
<param name="name">The name of the data slot to empty.</param>
<summary>Empties a data slot with the specified name.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="GetData">
<MemberSignature Language="C#" Value="public object GetData (string name);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance object GetData(string name) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Runtime.Remoting.Messaging.LogicalCallContext.GetData(System.String)" />
<MemberSignature Language="VB.NET" Value="Public Function GetData (name As String) As Object" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; System::Object ^ GetData(System::String ^ name);" />
<MemberSignature Language="F#" Value="member this.GetData : string -&gt; obj" Usage="logicalCallContext.GetData name" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;xamarinandroid-7.1;xamarinios-10.8;xamarinmac-3.0;netframework-4.8">
<AttributeName>System.Security.SecurityCritical</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Object</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="name" Type="System.String" />
</Parameters>
<Docs>
<param name="name">The name of the item in the call context.</param>
<summary>Retrieves an object associated with the specified name from the current instance.</summary>
<returns>The object in the logical call context associated with the specified name.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="GetObjectData">
<MemberSignature Language="C#" Value="public void GetObjectData (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void GetObjectData(class System.Runtime.Serialization.SerializationInfo info, valuetype System.Runtime.Serialization.StreamingContext context) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Runtime.Remoting.Messaging.LogicalCallContext.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)" />
<MemberSignature Language="VB.NET" Value="Public Sub GetObjectData (info As SerializationInfo, context As StreamingContext)" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual void GetObjectData(System::Runtime::Serialization::SerializationInfo ^ info, System::Runtime::Serialization::StreamingContext context);" />
<MemberSignature Language="F#" Value="abstract member GetObjectData : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -&gt; unit&#xA;override this.GetObjectData : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -&gt; unit" Usage="logicalCallContext.GetObjectData (info, context)" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;xamarinandroid-7.1;xamarinios-10.8;xamarinmac-3.0;netframework-4.8">
<AttributeName>System.Security.SecurityCritical</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="info" Type="System.Runtime.Serialization.SerializationInfo" />
<Parameter Name="context" Type="System.Runtime.Serialization.StreamingContext" />
</Parameters>
<Docs>
<param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> to populate with data.</param>
<param name="context">The contextual information about the source or destination of the serialization.</param>
<summary>Populates a specified <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with the data needed to serialize the current <see cref="T:System.Runtime.Remoting.Messaging.LogicalCallContext" />.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The current method fills the provided <xref:System.Runtime.Serialization.SerializationInfo> with all the data needed to recreate the <xref:System.Runtime.Remoting.Messaging.LogicalCallContext>.
The current method is an implementation of <xref:System.Runtime.Serialization.ISerializable.GetObjectData%2A>.
]]></format>
</remarks>
<exception cref="T:System.ArgumentNullException">
<paramref name="info" /> is <see langword="null" />.</exception>
<exception cref="T:System.Security.SecurityException">The immediate caller does not have SerializationFormatter permission.</exception>
<permission cref="T:System.Security.Permissions.SecurityPermission">for providing serialization services. Demand value: <see cref="F:System.Security.Permissions.SecurityAction.LinkDemand" />; Permission value: <see cref="F:System.Security.Permissions.SecurityPermissionFlag.SerializationFormatter" /></permission>
<altmember cref="T:System.Runtime.Serialization.ISerializable" />
</Docs>
</Member>
<Member MemberName="HasInfo">
<MemberSignature Language="C#" Value="public bool HasInfo { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool HasInfo" />
<MemberSignature Language="DocId" Value="P:System.Runtime.Remoting.Messaging.LogicalCallContext.HasInfo" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property HasInfo As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; property bool HasInfo { bool get(); };" />
<MemberSignature Language="F#" Value="member this.HasInfo : bool" Usage="System.Runtime.Remoting.Messaging.LogicalCallContext.HasInfo" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;xamarinandroid-7.1;xamarinios-10.8;xamarinmac-3.0;netframework-4.8">
<AttributeName>get: System.Security.SecurityCritical</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a value indicating whether the current <see cref="T:System.Runtime.Remoting.Messaging.LogicalCallContext" /> contains information.</summary>
<value>A Boolean value indicating whether the current <see cref="T:System.Runtime.Remoting.Messaging.LogicalCallContext" /> contains information.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="SetData">
<MemberSignature Language="C#" Value="public void SetData (string name, object data);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SetData(string name, object data) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Runtime.Remoting.Messaging.LogicalCallContext.SetData(System.String,System.Object)" />
<MemberSignature Language="VB.NET" Value="Public Sub SetData (name As String, data As Object)" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; void SetData(System::String ^ name, System::Object ^ data);" />
<MemberSignature Language="F#" Value="member this.SetData : string * obj -&gt; unit" Usage="logicalCallContext.SetData (name, data)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;xamarinandroid-7.1;xamarinios-10.8;xamarinmac-3.0;netframework-4.8">
<AttributeName>System.Security.SecurityCritical</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="name" Type="System.String" />
<Parameter Name="data" Type="System.Object" />
</Parameters>
<Docs>
<param name="name">The name with which to associate the new item in the call context.</param>
<param name="data">The object to store in the call context.</param>
<summary>Stores the specified object in the current instance, and associates it with the specified name.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
</Members>
</Type>
You can’t perform that action at this time.