CallContext.FreeNamedDataSlot(String) Méthode

Définition

Vide un emplacement de données portant le nom spécifié.

C#
public static void FreeNamedDataSlot (string name);
C#
[System.Security.SecurityCritical]
public static void FreeNamedDataSlot (string name);

Paramètres

name
String

Nom de l'emplacement de données à vider.

Attributs

Exceptions

L'appelant immédiat n'a pas d'autorisation d'accès à l'infrastructure.

Exemples

L’exemple de code suivant montre un client qui crée un emplacement de données nommé, appelle une méthode sur l’objet distant qui affiche la valeur de l’emplacement de données nommé retourné à partir du thread logique et libère cet emplacement de données nommé.

C#
// Register the channel.
TcpChannel myChannel = new TcpChannel ();
ChannelServices.RegisterChannel(myChannel);
RemotingConfiguration.RegisterActivatedClientType(typeof(HelloService),"Tcp://localhost:8082");

GenericIdentity myIdentity = new GenericIdentity("Bob");
GenericPrincipal myPrincipal = new GenericPrincipal(myIdentity,new string[] {"Level1"});
MyLogicalCallContextData myData = new MyLogicalCallContextData(myPrincipal);

// Set DataSlot with name parameter.
CallContext.SetData("test data",myData);

// Create a remote object.
HelloService myService = new HelloService();
if (myService == null)
{
   Console.WriteLine("Cannot locate server.");
   return;
}

// Call the Remote methods.
Console.WriteLine("Remote method output is " + myService.HelloMethod("Microsoft"));

MyLogicalCallContextData myReturnData =
                           (MyLogicalCallContextData) CallContext.GetData("test data");
if (myReturnData == null )
   Console.WriteLine("Data is null.");
else
   Console.WriteLine("Data is '{0}'", myReturnData.numOfAccesses);

// DataSlot with same Name Parameter which was Set is Freed.
CallContext.FreeNamedDataSlot("test data");
MyLogicalCallContextData myReturnData1 =
                        (MyLogicalCallContextData) CallContext.GetData("test data");
if (myReturnData1 == null )
   Console.WriteLine("FreeNamedDataSlot Successful for test data");
else
   Console.WriteLine("FreeNamedDataSlot Failed  for test data");

S’applique à

Produit Versions
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1