CallContext.FreeNamedDataSlot(String) Método

Definición

Vacía una ranura de datos con el nombre especificado.

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

Parámetros

name
String

Nombre de la ranura de datos que se va a vaciar.

Atributos

Excepciones

El llamador inmediato no tiene permisos de infraestructura.

Ejemplos

En el ejemplo de código siguiente se muestra un cliente que crea una ranura de datos con nombre, llamando a un método en el objeto remoto que muestra el valor de la ranura de datos con nombre que se devolvió desde el subproceso lógico y libera esa ranura de datos con nombre.

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");

Se aplica a

Producto Versiones
.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