System.Runtime.Remoting.Messaging.ILogicalThreadAffinative Interface

Assembly: Mscorlib.dll
Namespace: System.Runtime.Remoting.Messaging
Summary
Marks an object that can propagate outside of an AppDomain in a LogicalCallContext.
C# Syntax:
public interface ILogicalThreadAffinative
Remarks
When a remote method call is made to an object in another AppDomain, the current CallContext class generates a LogicalCallContext that travels along with the call to the remote location. Only objects that expose the ILogicalThreadAffinative interface and are stored in the CallContext are propagated outside the AppDomain. Objects that do not support this interface are not transmitted in LogicalCallContext instances with remote method calls.
Example
The following code example demonstrates the use of the ILogicalThreadAffinative interface to transmit the conceptual topic at MSDN: principalidentityobjects to a remote location for identification. To view the code for the HelloServiceClass class used in the sample, see the example for the CallContext.GetData method. To view the code for the server class used in this sample, see example for the RemotingConfiguration.RegisterActivatedServiceType class. To view the code for the client class used in the sample, see the examplefor the CallContext class.
[Serializable]
public class LogicalCallContextData : ILogicalThreadAffinative
{
   int _nAccesses;
   IPrincipal _principal;

   public string numOfAccesses {
      get {
         return String.Format("The identity of {0} has been accessed {1} times.", 
                              _principal.Identity.Name, 
                              _nAccesses);
      }
   }

   public IPrincipal Principal {
      get { 
         _nAccesses ++;
         return _principal;
      }
   }
   
   public LogicalCallContextData(IPrincipal p) {
      _nAccesses = 0;
      _principal = p;
   }
}

    
See also:
System.Runtime.Remoting.Messaging Namespace

System.Runtime.Remoting.Messaging.ILogicalThreadAffinative Member List:


System.Runtime.Remoting.Messaging.ILogicalThreadAffinative Member Details

Top of page

Copyright (c) 2002 Microsoft Corporation. All rights reserved.