Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método ThreadPool.UnsafeQueueUserWorkItem (WaitCallback, Object)

 

Publicado: octubre de 2016

Pone en cola el delegado especificado en el grupo de subprocesos, pero no propaga la pila de llamadas al subproceso de trabajo.

Espacio de nombres:   System.Threading
Ensamblado:  mscorlib (en mscorlib.dll)

[SecurityCriticalAttribute]
public static bool UnsafeQueueUserWorkItem(
	WaitCallback callBack,
	object state
)

Parámetros

callBack
Type: System.Threading.WaitCallback

WaitCallback que representa el delegado al que se va a invocar cuando un subproceso del grupo de subprocesos seleccione el elemento de trabajo.

state
Type: System.Object

Objeto que se pasa al delegado cuando se atiende desde el grupo de subprocesos.

Valor devuelto

Type: System.Boolean

true si el método se ejecuta correctamente; se produce la excepción OutOfMemoryException si el elemento de trabajo no se puede poner en la cola.

Exception Condition
SecurityException

El llamador no dispone del permiso requerido.

ApplicationException

Se encontró una condición de memoria insuficiente.

OutOfMemoryException

No se pudo poner en cola el elemento de trabajo.

ArgumentNullException

El valor de callBack es null.

A diferencia de la QueueUserWorkItem método UnsafeQueueUserWorkItem no propaga la pila de llamadas al subproceso de trabajo. Esto permite que el código pierda la pila de llamadas y, por lo tanto, para elevar sus privilegios de seguridad.

System_CAPS_cautionPrecaución

Mediante UnsafeQueueUserWorkItem sin darse cuenta podría abrir un agujero de seguridad. Seguridad de acceso del código basa sus comprobaciones de permisos en los permisos de todos los llamadores en la pila. Cuando trabajo en cola en un subproceso de grupo de subprocesos con UnsafeQueueUserWorkItem, la pila del subproceso del grupo no tendrá el contexto de los llamadores reales. Código malintencionado pueda aprovechar esta circunstancia para evitar las comprobaciones de permiso.

SecurityCriticalAttribute

Requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.

.NET Framework
Disponible desde 1.1
Volver al principio
Mostrar: